Dan Gohman
01b89435ec
[WebAssembly] Implement more WebAssembly binary encoding.
...
This changes locals from being declared by the emitLocal hook in
WebAssemblyTargetStreamer, rather than with an instruction. After exploring
the infastructure in LLVM more, this seems to make more sense since
declaring locals doesn't use an encoded opcode.
This also adds more 0xd opcodes, type encodings, and miscellaneous
binary encoding bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285040 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-24 23:27:49 +00:00
Nirav Dave
6b00c9f9a9
Fix branch relaxation in 16-bit mode.
...
Thread through MCSubtargetInfo to relaxInstruction function allowing relaxation
to generate jumps with 16-bit sized immediates in 16-bit mode.
This fixes PR22097.
Reviewers: dwmw2, tstellarAMD, craig.topper, jyknight
Subscribers: jfb, arsenm, jyknight, llvm-commits, dsanders
Differential Revision: http://reviews.llvm.org/D20830
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275068 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-11 14:23:53 +00:00
Dan Gohman
e1aa9b9403
[WebAssembly] Add an assertion to catch unexpected MCFixupKindInfo flags.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257657 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-13 19:31:57 +00:00
Dan Gohman
c7e4634baa
[WebAssembly] MCFixupKindInfo's TargetSize is in bits rather than bytes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257655 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-13 19:29:37 +00:00
Dan Gohman
0b9379b950
[WebAssembly] Remove unused arguments, unused functions. NFC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257125 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-08 00:43:54 +00:00
Dan Gohman
5731435941
[WebAssembly] Experimental ELF writer support
...
This creates the initial infrastructure for writing ELF output files. It
doesn't yet have any implementation for encoding instructions.
Differential Revision: http://reviews.llvm.org/D15555
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255869 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-17 01:39:00 +00:00