Dan Gohman
1a513a6964
[WebAssembly] Optimize away return instructions using fallthroughs.
...
This saves a small amount of code size, and is a first small step toward
passing values on the stack across block boundaries.
Differential Review: http://reviews.llvm.org/D20450
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270294 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-21 00:21:56 +00:00
Dan Gohman
d73b41ae22
[WebAssembly] Define WebAssembly-specific relocation codes.
...
Currently WebAssembly has two kinds of relocations; data addresses and
function addresses. This adds ELF relocations for them, as well as an
MC symbol kind to indicate which type of relocation is needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257416 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-11 23:38:05 +00:00
Dan Gohman
3d5f22734f
[WebAssembly] Add -m:e to the target triple.
...
This enables ELF-style name mangling, which primarily means using ".L" for
private symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257020 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-07 03:19:23 +00:00
Dan Gohman
ae06f491f7
[WebAssembly] Add type prefixes to call instructions
...
Add return type information to call and call_indirect instructions. This
allows them to be disambiguated without knowledge of the callee.
Differential Revision: http://reviews.llvm.org/D15484
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255565 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-14 22:56:51 +00:00
Dan Gohman
76e67ade5a
[WebAssembly] Implement direct calls to external symbols.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254863 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-05 20:41:36 +00:00