14 Commits

Author SHA1 Message Date
Derek Schuff
6c0a029b61 [WebAssembly] Update MCObjectWriter and associated interfaces after r315327
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315335 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-10 17:31:43 +00:00
Derek Schuff
39844e05ba [WebAssembly] Fix build after r306177
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306190 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-24 01:00:43 +00:00
Reid Kleckner
42bbb7fb32 [wasm] Fix WebAssembly asm backend after r305968
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305978 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-22 01:07:05 +00:00
Chandler Carruth
e3e43d9d57 Sort the remaining #include lines in include/... and lib/....
I did this a long time ago with a janky python script, but now
clang-format has built-in support for this. I fed clang-format every
line with a #include and let it re-sort things according to the precise
LLVM rules for include ordering baked into clang-format these days.

I've reverted a number of files where the results of sorting includes
isn't healthy. Either places where we have legacy code relying on
particular include ordering (where possible, I'll fix these separately)
or where we have particular formatting around #include lines that
I didn't want to disturb in this patch.

This patch is *entirely* mechanical. If you get merge conflicts or
anything, just ignore the changes in this patch and run clang-format
over your #include lines in the files.

Sorry for any noise here, but it is important to keep these things
stable. I was seeing an increasing number of patches with irrelevant
re-ordering of #include lines because clang-format was used. This patch
at least isolates that churn, makes it easy to skip when resolving
conflicts, and gets us to a clean baseline (again).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304787 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-06 11:49:48 +00:00
Alexander Kornienko
9544eb39b6 Fix WebAssembly after r299529.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299535 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-05 11:50:43 +00:00
Dan Gohman
6d8f20c219 [WebAssembly] Add some comments and tidy up whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@296402 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-27 22:41:39 +00:00
Dan Gohman
53ff96ab08 [WebAssembly] Basic support for Wasm object file encoding.
With the "wasm32-unknown-unknown-wasm" triple, this allows writing out
simple wasm object files, and is another step in a larger series toward
migrating from ELF to general wasm object support. Note that this code
and the binary format itself is still experimental.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@296190 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-24 23:18:00 +00:00
Dan Gohman
d660a5d68c [WebAssembly] Add skeleton MC support for the Wasm container format
This just adds the basic skeleton for supporting a new object file format.
All of the actual encoding will be implemented in followup patches.

Differential Revision: https://reviews.llvm.org/D26722


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295803 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-22 01:23:18 +00:00
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