#
6a87ddac |
| 08-Jan-2019 |
Thomas Lively <tlively@google.com> |
[WebAssembly] Massive instruction renaming
Summary: An automated renaming of all the instructions listed at https://github.com/WebAssembly/spec/issues/884#issuecomment-426433329 as well as some simi
[WebAssembly] Massive instruction renaming
Summary: An automated renaming of all the instructions listed at https://github.com/WebAssembly/spec/issues/884#issuecomment-426433329 as well as some similarly-named identifiers.
Reviewers: aheejin, dschuff, aardappel
Subscribers: sbc100, jgravelle-google, eraman, sunfish, jfb, llvm-commits
Differential Revision: https://reviews.llvm.org/D56338
llvm-svn: 350609
show more ...
|
Revision tags: llvmorg-7.0.1, llvmorg-7.0.1-rc3, llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1, llvmorg-7.0.0, llvmorg-7.0.0-rc3 |
|
#
f208f631 |
| 05-Sep-2018 |
Heejin Ahn <aheejin@gmail.com> |
[WebAssembly] clang-format (NFC)
Summary: This patch runs clang-format on all wasm-only files.
Reviewers: aardappel, dschuff, sunfish, tlively
Subscribers: MatzeB, sbc100, jgravelle-google, llvm-c
[WebAssembly] clang-format (NFC)
Summary: This patch runs clang-format on all wasm-only files.
Reviewers: aardappel, dschuff, sunfish, tlively
Subscribers: MatzeB, sbc100, jgravelle-google, llvm-commits
Differential Revision: https://reviews.llvm.org/D51447
llvm-svn: 341439
show more ...
|
#
972fc358 |
| 22-Aug-2018 |
Heejin Ahn <aheejin@gmail.com> |
[WebAssembly] Don't write SP back when prolog is generated only for EH
Summary: When we don't actually have stack-allocated variables but need SP only to support EH, we don't need to write SP back i
[WebAssembly] Don't write SP back when prolog is generated only for EH
Summary: When we don't actually have stack-allocated variables but need SP only to support EH, we don't need to write SP back in the epilog, because we don't bump down the stack pointer.
Reviewers: dschuff
Subscribers: jgravelle-google, sbc100, sunfish, llvm-commits
Differential Revision: https://reviews.llvm.org/D51114
llvm-svn: 340454
show more ...
|
#
bc6d8970 |
| 22-Aug-2018 |
Heejin Ahn <aheejin@gmail.com> |
[WebAssembly] Remove MachineFrameInfo arg from checking functions (NFC)
Summary: There are several functions in the form of `has***` or `needs***` in `WebAssemblyFrameLowering` and its `MachineFrame
[WebAssembly] Remove MachineFrameInfo arg from checking functions (NFC)
Summary: There are several functions in the form of `has***` or `needs***` in `WebAssemblyFrameLowering` and its `MachineFrameInfo` argument can be obtained from `MachineFunction` so it is not necessarily has to be passed from a caller. Also, it is more in line with other overriden fuctions like `hasBP` or `hasReservedCallFrame`, which also take only `MachineFunction` argument.
Reviewers: dschuff
Subscribers: sbc100, sunfish, llvm-commits
Differential Revision: https://reviews.llvm.org/D51116
llvm-svn: 340438
show more ...
|
Revision tags: llvmorg-7.0.0-rc2 |
|
#
c4df1d18 |
| 22-Aug-2018 |
Heejin Ahn <aheejin@gmail.com> |
[WebAssembly] Change comments on SP writing back (NFC)
Summary: We now write back not to memory but to __stack_pointer global.
Reviewers: dschuff
Subscribers: sbc100, jgravelle-google, sunfish, ll
[WebAssembly] Change comments on SP writing back (NFC)
Summary: We now write back not to memory but to __stack_pointer global.
Reviewers: dschuff
Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits
Differential Revision: https://reviews.llvm.org/D51074
llvm-svn: 340372
show more ...
|
#
78d19108 |
| 21-Aug-2018 |
Heejin Ahn <aheejin@gmail.com> |
[WebAssembly] Restore __stack_pointer after catch instructions
Summary: After the stack is unwound due to a thrown exception, the `__stack_pointer` global can point to an invalid address. This inser
[WebAssembly] Restore __stack_pointer after catch instructions
Summary: After the stack is unwound due to a thrown exception, the `__stack_pointer` global can point to an invalid address. This inserts instructions that restore `__stack_pointer` global.
Reviewers: jgravelle-google, dschuff
Subscribers: mgorny, sbc100, sunfish, llvm-commits
Differential Revision: https://reviews.llvm.org/D50980
llvm-svn: 340339
show more ...
|
#
20c9c443 |
| 21-Aug-2018 |
Heejin Ahn <aheejin@gmail.com> |
[WebAssembly] Change writeSPToMemory to writeSPToGlobal (NFC)
Summary: SP is now a __stack_pointer global and not a memory address anymore.
Reviewers: dschuff
Subscribers: sbc100, jgravelle-google
[WebAssembly] Change writeSPToMemory to writeSPToGlobal (NFC)
Summary: SP is now a __stack_pointer global and not a memory address anymore.
Reviewers: dschuff
Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits
Differential Revision: https://reviews.llvm.org/D51046
llvm-svn: 340328
show more ...
|
#
c2c33c8e |
| 20-Aug-2018 |
Heejin Ahn <aheejin@gmail.com> |
[WebAssembly] Remove an unused argument from writeSPToMemory (NFC)
Reviewers: dschuff
Subscribers: dschuff, sbc100, sunfish, llvm-commits
Differential Revision: https://reviews.llvm.org/D50933
ll
[WebAssembly] Remove an unused argument from writeSPToMemory (NFC)
Reviewers: dschuff
Subscribers: dschuff, sbc100, sunfish, llvm-commits
Differential Revision: https://reviews.llvm.org/D50933
llvm-svn: 340230
show more ...
|
#
e408a89a |
| 03-Aug-2018 |
Nicholas Wilson <nicholas@nicholaswilson.me.uk> |
[WebAssembly] Cleanup of the way globals and global flags are handled
Differential Revision: https://reviews.llvm.org/D44030
llvm-svn: 338894
|
Revision tags: llvmorg-7.0.0-rc1 |
|
#
cf2a9e28 |
| 16-Jul-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Remove ELF file support.
This support was partial and temporary. Now that we have wasm object file support its no longer needed.
Differential Revision: https://reviews.llvm.org/D4874
[WebAssembly] Remove ELF file support.
This support was partial and temporary. Now that we have wasm object file support its no longer needed.
Differential Revision: https://reviews.llvm.org/D48744
llvm-svn: 337222
show more ...
|
Revision tags: llvmorg-6.0.1, llvmorg-6.0.1-rc3, llvmorg-6.0.1-rc2 |
|
#
5f8f34e4 |
| 01-May-2018 |
Adrian Prantl <aprantl@apple.com> |
Remove \brief commands from doxygen comments.
We've been running doxygen with the autobrief option for a couple of years now. This makes the \brief markers into our comments redundant. Since they ar
Remove \brief commands from doxygen comments.
We've been running doxygen with the autobrief option for a couple of years now. This makes the \brief markers into our comments redundant. Since they are a visual distraction and we don't want to encourage more \brief markers in new code either, this patch removes them all.
Patch produced by
for i in $(git grep -l '\\brief'); do perl -pi -e 's/\\brief //g' $i & done
Differential Revision: https://reviews.llvm.org/D46290
llvm-svn: 331272
show more ...
|
Revision tags: llvmorg-6.0.1-rc1, llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1, llvmorg-6.0.0, llvmorg-6.0.0-rc3, 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 |
|
#
9d24fb7f |
| 16-Jun-2017 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Use __stack_pointer global when writing wasm binary
This ensures that symbolic relocations are generated for stack pointer manipulations.
These relocations are of type R_WEBASSEMBLY_G
[WebAssembly] Use __stack_pointer global when writing wasm binary
This ensures that symbolic relocations are generated for stack pointer manipulations.
These relocations are of type R_WEBASSEMBLY_GLOBAL_INDEX_LEB. This change also adds support for reading relocations of this type in WasmObjectFile.cpp.
Since its a globally imported symbol this does mean that the get_global/set_global instruction won't be valid until the objects are linked that global used in no longer an imported global.
Differential Revision: https://reviews.llvm.org/D34172
llvm-svn: 305616
show more ...
|
Revision tags: llvmorg-4.0.1, llvmorg-4.0.1-rc3, llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1 |
|
#
970d02c4 |
| 30-Mar-2017 |
Dan Gohman <dan433584@gmail.com> |
[WebAssembly] Initial linking metadata support
Add support for the new relocations and linking metadata section support in https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md. In
[WebAssembly] Initial linking metadata support
Add support for the new relocations and linking metadata section support in https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md. In particular, this allows LLVM to indicate which variable is the stack pointer, so that it can be linked with other objects.
This also adds support for emitting type relocations for call_indirect instructions.
Right now, this is mainly tested by using wabt and hexdump to examine the output on selected testcases. We'll add more tests as the design stablizes and more of the pieces are in place.
llvm-svn: 299141
show more ...
|
Revision tags: llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3 |
|
#
82607f56 |
| 24-Feb-2017 |
Dan Gohman <dan433584@gmail.com> |
[WebAssembly] Add support for using a wasm global for the stack pointer.
This replaces the __stack_pointer variable which was allocated in linear memory.
llvm-svn: 296201
|
#
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, llvmorg-4.0.0-rc1, llvmorg-3.9.1, llvmorg-3.9.1-rc3 |
|
#
f295cc8f |
| 02-Dec-2016 |
Dan Gohman <dan433584@gmail.com> |
[WebAssembly] Fix a compiler warning. NFC.
Fix a warning about a comparison between signed and unsigned integer expressions.
llvm-svn: 288532
|
Revision tags: llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1 |
|
#
0d41b7b3 |
| 07-Nov-2016 |
Derek Schuff <dschuff@google.com> |
[WebAssembly] Emit a BasePointer when we have overly-aligned stack objects
Because we shift the stack pointer by an unknown amount, we need an additional pointer. In the case where we have variable-
[WebAssembly] Emit a BasePointer when we have overly-aligned stack objects
Because we shift the stack pointer by an unknown amount, we need an additional pointer. In the case where we have variable-size objects as well, we can't reuse the frame pointer, thus three pointers.
Patch by Jacob Gravelle
Differential Revision: https://reviews.llvm.org/D26263
llvm-svn: 286160
show more ...
|
#
48abaa9c |
| 25-Oct-2016 |
Dan Gohman <dan433584@gmail.com> |
[WebAssembly] Reorder load/store operands to match binary encoding.
The p2align operand of a load/store is encoded before the offset operand; reorder the MachineInstr operands accordingly.
llvm-svn
[WebAssembly] Reorder load/store operands to match binary encoding.
The p2align operand of a load/store is encoded before the offset operand; reorder the MachineInstr operands accordingly.
llvm-svn: 285044
show more ...
|
#
7f1bdb2e |
| 06-Oct-2016 |
Dan Gohman <dan433584@gmail.com> |
[WebAssembly] Remove the output operand from stores.
Per spec changes, store instructions in WebAssembly no longer have a return value. Update the instruction descriptions.
Differential Revision: h
[WebAssembly] Remove the output operand from stores.
Per spec changes, store instructions in WebAssembly no longer have a return value. Update the instruction descriptions.
Differential Revision: https://reviews.llvm.org/D25122
llvm-svn: 283501
show more ...
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2 |
|
#
9bc1b230 |
| 12-Aug-2016 |
Benjamin Kramer <benny.kra@googlemail.com> |
[WebAssembly] Plug MachineMemOperand leaks.
llvm-svn: 278545
|
Revision tags: llvmorg-3.9.0-rc1 |
|
#
941a705b |
| 28-Jul-2016 |
Matthias Braun <matze@braunis.de> |
MachineFunction: Return reference for getFrameInfo(); NFC
getFrameInfo() never returns nullptr so we should use a reference instead of a pointer.
llvm-svn: 277017
|
#
bdc4956b |
| 12-Jun-2016 |
Benjamin Kramer <benny.kra@googlemail.com> |
Pass DebugLoc and SDLoc by const ref.
This used to be free, copying and moving DebugLocs became expensive after the metadata rewrite. Passing by reference eliminates a ton of track/untrack operation
Pass DebugLoc and SDLoc by const ref.
This used to be free, copying and moving DebugLocs became expensive after the metadata rewrite. Passing by reference eliminates a ton of track/untrack operations. No functionality change intended.
llvm-svn: 272512
show more ...
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1 |
|
#
d530f68d |
| 24-May-2016 |
Dan Gohman <dan433584@gmail.com> |
[WebAssembly] Put __stack_pointer in the offset field of loads and stores.
Instead of this:
i32.const $push10=, __stack_pointer i32.load $push11=, 0($pop10)
Emit this:
i32.const
[WebAssembly] Put __stack_pointer in the offset field of loads and stores.
Instead of this:
i32.const $push10=, __stack_pointer i32.load $push11=, 0($pop10)
Emit this:
i32.const $push10=, 0 i32.load $push11=, __stack_pointer($pop10)
It's not currently clear which is better, though there's a chance the second form may be better at overall compression. We can revisit this when we have more data; for now it makes sense to make PEI consistent with isel.
Differential Revision: http://reviews.llvm.org/D20411
llvm-svn: 270635
show more ...
|
#
71008090 |
| 17-May-2016 |
Dan Gohman <dan433584@gmail.com> |
[WebAssembly] Rename $discard to $drop in the assembly output.
llvm-svn: 269862
|