Revision tags: llvmorg-6.0.0-rc2, llvmorg-6.0.0-rc1 |
|
#
21109249 |
| 15-Dec-2017 |
David Blaikie <dblaikie@gmail.com> |
Fix WebAssembly backend for some LLVM API changes
llvm-svn: 320893
|
Revision tags: llvmorg-5.0.1, llvmorg-5.0.1-rc3, llvmorg-5.0.1-rc2, llvmorg-5.0.1-rc1, llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3, llvmorg-5.0.0-rc2, llvmorg-5.0.0-rc1 |
|
#
9bf73c07 |
| 05-Jul-2017 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Fix types for address taken functions
Differential Revision: https://reviews.llvm.org/D34966
llvm-svn: 307198
|
Revision tags: llvmorg-4.0.1, llvmorg-4.0.1-rc3, llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1 |
|
#
e2688c43 |
| 14-Mar-2017 |
Derek Schuff <dschuff@google.com> |
[WebAssembly] Use LEB encoding for value types
Previously we were using the encoded LEB hex values for the value types. This change uses the decoded negative value and the LEB encoder to write them
[WebAssembly] Use LEB encoding for value types
Previously we were using the encoded LEB hex values for the value types. This change uses the decoded negative value and the LEB encoder to write them out.
Differential Revision: https://reviews.llvm.org/D30847
Patch by Sam Clegg
llvm-svn: 297777
show more ...
|
Revision tags: llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3 |
|
#
d934cb88 |
| 24-Feb-2017 |
Dan Gohman <dan433584@gmail.com> |
[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 tow
[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.
llvm-svn: 296190
show more ...
|
Revision tags: llvmorg-4.0.0-rc2 |
|
#
3de487b2 |
| 28-Jan-2017 |
Richard Trieu <rtrieu@google.com> |
[WebAssembly] Use print instead of dump method.
This fixes non-debug non-assert builds after r293359.
llvm-svn: 293368
|
Revision tags: llvmorg-4.0.0-rc1, llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1, llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1, llvmorg-3.8.1, llvmorg-3.8.1-rc1, llvmorg-3.8.0, llvmorg-3.8.0-rc3, llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1 |
|
#
1d68e80f |
| 12-Jan-2016 |
Dan Gohman <dan433584@gmail.com> |
[WebAssembly] Make CFG stackification independent of basic-block labels.
This patch changes the way labels are referenced. Instead of referencing the basic-block label name (eg. .LBB0_0), instructio
[WebAssembly] Make CFG stackification independent of basic-block labels.
This patch changes the way labels are referenced. Instead of referencing the basic-block label name (eg. .LBB0_0), instructions now just have an immediate which indicates the depth in the control-flow stack to find a label to jump to. This makes them much closer to what we expect to have in the binary encoding, and avoids the problem of basic-block label names not being explicit in the binary encoding.
Also, it terminates blocks and loops with end_block and end_loop instructions, rather than basic-block label names, for similar reasons.
This will also fix problems where two constructs appear to have the same label, because we no longer explicitly use labels, so consumers that need labels will presumably create their own labels, and presumably they won't reuse labels when they do.
This patch does make the code a little more awkward to read; as a partial mitigation, this patch also introduces comments showing where the labels are, and comments on each branch showing where it's branching to.
llvm-svn: 257505
show more ...
|
#
26c6765b |
| 11-Jan-2016 |
Dan Gohman <dan433584@gmail.com> |
[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
[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.
llvm-svn: 257416
show more ...
|
#
a2b2cdc8 |
| 22-Dec-2015 |
Dan Gohman <dan433584@gmail.com> |
[WebAssembly] Trim unneeded #includes. NFC.
llvm-svn: 256301
|
#
a4b710a7 |
| 06-Dec-2015 |
Dan Gohman <dan433584@gmail.com> |
[WebAssembly] Enable folding of offsets into global variable addresses.
llvm-svn: 254882
|
Revision tags: llvmorg-3.7.1 |
|
#
9551a44d |
| 29-Nov-2015 |
Dan Gohman <dan433584@gmail.com> |
[WebAssembly] Delete an obsolete TODO comment.
llvm-svn: 254272
|
#
7a6b9825 |
| 29-Nov-2015 |
Dan Gohman <dan433584@gmail.com> |
[WebAssembly] Minor clang-format and selected clang-tidy cleanups. NFC.
llvm-svn: 254267
|
#
2c8fe6a4 |
| 25-Nov-2015 |
Dan Gohman <dan433584@gmail.com> |
[WebAssembly] Codegen support for ISD::ExternalSymbol
llvm-svn: 254075
|
Revision tags: llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1 |
|
#
cf4748f1 |
| 12-Nov-2015 |
Dan Gohman <dan433584@gmail.com> |
[WebAssembly] Reapply r252858, with svn add for the new file.
Switch to MC for instruction printing.
This encompasses several changes which are all interconnected: - Use the MC framework for print
[WebAssembly] Reapply r252858, with svn add for the new file.
Switch to MC for instruction printing.
This encompasses several changes which are all interconnected: - Use the MC framework for printing almost all instructions. - AsmStrings are now live. - This introduces an indirection between LLVM vregs and WebAssembly registers, and a new pass, WebAssemblyRegNumbering, for computing a basic the mapping. This addresses some basic issues with argument registers and unused registers. - The way ARGUMENT instructions are handled no longer generates redundant get_local+set_local for every argument.
This also changes the assembly syntax somewhat; most notably, MC's printing does not use sigils on label names, so those are no longer present, and push/pop now have a sigil to keep them unambiguous.
The usage of set_local/get_local/$push/$pop will continue to evolve significantly. This patch is just one step of a larger change.
llvm-svn: 252910
show more ...
|
#
7384a2de |
| 12-Nov-2015 |
Hans Wennborg <hans@hanshq.net> |
Revert r252858: "[WebAssembly] Switch to MC for instruction printing."
It broke the CMake build:
"Cannot find source file: WebAssemblyRegNumbering.cpp"
llvm-svn: 252897
|
#
9dd55a80 |
| 12-Nov-2015 |
Dan Gohman <dan433584@gmail.com> |
[WebAssembly] Switch to MC for instruction printing.
This encompasses several changes which are all interconnected: - Use the MC framework for printing almost all instructions. - AsmStrings are no
[WebAssembly] Switch to MC for instruction printing.
This encompasses several changes which are all interconnected: - Use the MC framework for printing almost all instructions. - AsmStrings are now live. - This introduces an indirection between LLVM vregs and WebAssembly registers, and a new pass, WebAssemblyRegNumbering, for computing a basic the mapping. This addresses some basic issues with argument registers and unused registers. - The way ARGUMENT instructions are handled no longer generates redundant get_local+set_local for every argument.
This also changes the assembly syntax somewhat; most notably, MC's printing use sigils on label names, so those are no longer present, and push/pop now have a sigil to keep them unambiguous.
The usage of set_local/get_local/$push/$pop will continue to evolve significantly. This patch is just one step of a larger change.
llvm-svn: 252858
show more ...
|
#
e9361d58 |
| 05-Nov-2015 |
Dan Gohman <dan433584@gmail.com> |
[WebAssembly] Add WebAssemblyMCInstLower.cpp.
This isn't used yet; it's just a start towards eventually using MC to do instruction printing, and eventually binary encoding.
llvm-svn: 252194
|