Revision tags: llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1 |
|
#
027b9357 |
| 14-Mar-2018 |
Nicholas Wilson <nicholas@nicholaswilson.me.uk> |
[WebAssembly] Identify COMDATs by index rather than string. NFC
This will enable an optimisation in LLD.
Differential Revision: https://reviews.llvm.org/D44343
llvm-svn: 327522
|
#
15f349f7 |
| 09-Mar-2018 |
Nicholas Wilson <nicholas@nicholaswilson.me.uk> |
[WebAssembly] Disallow weak undefined globals in the object format
This implements https://github.com/WebAssembly/tool-conventions/pull/47
Differential Revision: https://reviews.llvm.org/D44201
ll
[WebAssembly] Disallow weak undefined globals in the object format
This implements https://github.com/WebAssembly/tool-conventions/pull/47
Differential Revision: https://reviews.llvm.org/D44201
llvm-svn: 327146
show more ...
|
#
fa5a04fb |
| 06-Mar-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssebmly] Remove reloc ordering constraint
The MC layer doesn't currently emit relocations in offset order for the entire code section so this check was causing failures on the wasm waterfall.
[WebAssebmly] Remove reloc ordering constraint
The MC layer doesn't currently emit relocations in offset order for the entire code section so this check was causing failures on the wasm waterfall.
Perhaps we can re-instate this check if we divide the relocations per-function, or add extra ordering the MC object writer.
Differential Revision: https://reviews.llvm.org/D44136
llvm-svn: 326765
show more ...
|
#
b3748f71 |
| 05-Mar-2018 |
Nicholas Wilson <nicholas@nicholaswilson.me.uk> |
[WebAssembly] Add validation to reloc section
We now check relocations offsets are within range, and the relocation index is valid.
Also updated tests which contained invalid Wasm files that were p
[WebAssembly] Add validation to reloc section
We now check relocations offsets are within range, and the relocation index is valid.
Also updated tests which contained invalid Wasm files that were previously not checked.
Differential Revision: https://reviews.llvm.org/D43684
llvm-svn: 326697
show more ...
|
#
959e7371 |
| 05-Mar-2018 |
Nicholas Wilson <nicholas@nicholaswilson.me.uk> |
[WebAssembly] Attach a name to globals similarly to function naming
This allows LLD to print the name for an InputGlobal when encountering an error.
Differential Revision: https://reviews.llvm.org/
[WebAssembly] Attach a name to globals similarly to function naming
This allows LLD to print the name for an InputGlobal when encountering an error.
Differential Revision: https://reviews.llvm.org/D44033
llvm-svn: 326691
show more ...
|
#
3b825105 |
| 02-Mar-2018 |
Nicholas Wilson <nicholas@nicholaswilson.me.uk> |
[WebAssembly] Check function type indexes
Also update tests containing invalid Wasm files, exposed by the check
Differential Revision: https://reviews.llvm.org/D43954
llvm-svn: 326577
|
Revision tags: llvmorg-6.0.0 |
|
#
03e101f1 |
| 01-Mar-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Use uint8_t for single byte values to match the spec
The original BinaryEncoding.md document used to specify that these values were `varint7`, but the official spec lists them explicit
[WebAssembly] Use uint8_t for single byte values to match the spec
The original BinaryEncoding.md document used to specify that these values were `varint7`, but the official spec lists them explicitly as single byte values and not LEB.
A similar change for wabt is in flight: https://github.com/WebAssembly/wabt/pull/782
Differential Revision: https://reviews.llvm.org/D43921
llvm-svn: 326454
show more ...
|
#
7e4eee98 |
| 28-Feb-2018 |
Nicholas Wilson <nicholas@nicholaswilson.me.uk> |
[WebAssembly] Fix copy-paste error in debugging string
llvm-svn: 326326
|
#
86b4a09a |
| 27-Feb-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Remove DataSize from linking metadata section
Neither the linker nor the runtime need this information anymore. We were originally using this to model BSS size but the plan is now to
[WebAssembly] Remove DataSize from linking metadata section
Neither the linker nor the runtime need this information anymore. We were originally using this to model BSS size but the plan is now to use the segment metadata to allow for BSS segments.
Differential Revision: https://reviews.llvm.org/D41366
llvm-svn: 326267
show more ...
|
Revision tags: llvmorg-6.0.0-rc3 |
|
#
6c899ba6 |
| 23-Feb-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Add first claass symbol table to wasm objects
This is combination of two patches by Nicholas Wilson: 1. https://reviews.llvm.org/D41954 2. https://reviews.llvm.org/D42495
Along wi
[WebAssembly] Add first claass symbol table to wasm objects
This is combination of two patches by Nicholas Wilson: 1. https://reviews.llvm.org/D41954 2. https://reviews.llvm.org/D42495
Along with a few local modifications: - One change I made was to add the UNDEFINED bit to the binary format to avoid the extra byte used when writing data symbols. Although this bit is redundant for other symbols types (i.e. undefined can be implied if a function or global is a wasm import) - I prefer to be explicit and consistent and not have derived flags. - Some field renaming. - Some reverting of unrelated minor changes. - No test output differences.
Differential Revision: https://reviews.llvm.org/D43147
llvm-svn: 325860
show more ...
|
#
0b55ccf6 |
| 09-Feb-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssebmly] Report undefined symbols correctly in objdump
Peviously we were reporting undefined symbol as being defined by the IMPORT sections.
This change reports undefined symbols in the same t
[WebAssebmly] Report undefined symbols correctly in objdump
Peviously we were reporting undefined symbol as being defined by the IMPORT sections.
This change reports undefined symbols in the same that other formats do, and also removes the need to store the section with each symbol (since it can be derived from the symbol type).
Differential Revision: https://reviews.llvm.org/D43101
llvm-svn: 324770
show more ...
|
Revision tags: llvmorg-6.0.0-rc2 |
|
#
6e7f1826 |
| 31-Jan-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] MC: Remove unused code for handling of wasm globals
For now, we are not using wasm globals, except for modeling of the stack points.
Alos, factor out common struct WasmGlobalType, whi
[WebAssembly] MC: Remove unused code for handling of wasm globals
For now, we are not using wasm globals, except for modeling of the stack points.
Alos, factor out common struct WasmGlobalType, which matches the name for that tuple in the Wasm spec and rename methods to "isBindingGlobal", "isTypeGlobal" to avoid ambiguity.
Patch by Nicholas Wilson!
Differential Revision: https://reviews.llvm.org/D42750
llvm-svn: 323901
show more ...
|
#
23012e98 |
| 24-Jan-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Add minor helper functions to WasmObjectFile
Also, fix crash when exporting an imported function.
Differential Revision: https://reviews.llvm.org/D42454
llvm-svn: 323290
|
#
9f3fe42e |
| 17-Jan-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Remove debug names from symbol table
Get rid of DEBUG_FUNCTION_NAME symbols. When we actually debug data, maybe we'll want somewhere to put it... but having a symbol that just stores t
[WebAssembly] Remove debug names from symbol table
Get rid of DEBUG_FUNCTION_NAME symbols. When we actually debug data, maybe we'll want somewhere to put it... but having a symbol that just stores the name of another symbol seems odd. It means you have multiple Symbols with the same name, one containing the actual function and another containing the name!
Store the names in a vector on the WasmObjectFile when reading them in. Also stash them on the WasmFunctions themselves. The names are //not// "symbol names" or aliases or anything, they're just the name that a debugger should show against the function body itself. NB. The WasmObjectFile stores them so that they can be exported in the YAML losslessly, and hence the tests can be precise.
Enforce that the CODE section has been read in before reading the "names" section. Requires minor adjustment to some tests.
Patch by Nicholas Wilson!
Differential Revision: https://reviews.llvm.org/D42075
llvm-svn: 322741
show more ...
|
Revision tags: llvmorg-6.0.0-rc1 |
|
#
4710ed7a |
| 12-Jan-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Don't allow functions to be named twice
The spec doesn't allow this.
Differential Revision: https://reviews.llvm.org/D41974
llvm-svn: 322343
|
#
ea7cacee |
| 09-Jan-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Add COMDAT support
This adds COMDAT support to the Wasm object-file format. Spec: https://github.com/WebAssembly/tool-conventions/pull/31
Corresponding LLD change: https://bugs.llvm.o
[WebAssembly] Add COMDAT support
This adds COMDAT support to the Wasm object-file format. Spec: https://github.com/WebAssembly/tool-conventions/pull/31
Corresponding LLD change: https://bugs.llvm.org/show_bug.cgi?id=35533, and D40845
Patch by Nicholas Wilson
Differential Revision: https://reviews.llvm.org/D40844
llvm-svn: 322135
show more ...
|
#
e53af7f6 |
| 09-Jan-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Explicitly specify function/global index space in YAML
These indexes are useful because they are not always zero based and functions and globals are referenced elsewhere by their index
[WebAssembly] Explicitly specify function/global index space in YAML
These indexes are useful because they are not always zero based and functions and globals are referenced elsewhere by their index.
This matches what we already do for the type index space.
Differential Revision: https://reviews.llvm.org/D41877
llvm-svn: 322121
show more ...
|
#
c5d8bc83 |
| 21-Dec-2017 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Remove unneeded sub-directory
This is the only wasm def (and likely likely will be for the foreseeable) file so no need for a sub-directory
Differential Revision: https://reviews.llvm
[WebAssembly] Remove unneeded sub-directory
This is the only wasm def (and likely likely will be for the foreseeable) file so no need for a sub-directory
Differential Revision: https://reviews.llvm.org/D41476
llvm-svn: 321246
show more ...
|
#
b6a42984 |
| 21-Dec-2017 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Fix local references to weak aliases
When weak aliases are used with in same translation unit we need to be able to directly reference to alias and not just the thing it is aliases. W
[WebAssembly] Fix local references to weak aliases
When weak aliases are used with in same translation unit we need to be able to directly reference to alias and not just the thing it is aliases. We do this by defining both a wasm import and a wasm export in this case that result in a single Symbol. This change is a partial revert of rL314245. A corresponding lld change address the previous issues we had with this.
See: https://github.com/WebAssembly/tool-conventions/issues/34
Differential Revision: https://reviews.llvm.org/D41472
llvm-svn: 321242
show more ...
|
#
c551522d |
| 17-Dec-2017 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Export some more info on wasm funtions
Summary: These fields are useful for lld's gc-sections support
Also remove an unused field.
Subscribers: jfb, dschuff, jgravelle-google, aheeji
[WebAssembly] Export some more info on wasm funtions
Summary: These fields are useful for lld's gc-sections support
Also remove an unused field.
Subscribers: jfb, dschuff, jgravelle-google, aheejin, sunfish
Differential Revision: https://reviews.llvm.org/D41320
llvm-svn: 320946
show more ...
|
#
260fe3ec |
| 14-Dec-2017 |
Zachary Turner <zturner@google.com> |
Fix many -Wsign-compare and -Wtautological-constant-compare warnings.
Most of the -Wsign-compare warnings are due to the fact that enums are signed by default in the MS ABI, while the tautological c
Fix many -Wsign-compare and -Wtautological-constant-compare warnings.
Most of the -Wsign-compare warnings are due to the fact that enums are signed by default in the MS ABI, while the tautological comparison warnings trigger on x86 builds where sizeof(size_t) is 4 bytes, so N > numeric_limits<unsigned>::max() is always false.
Differential Revision: https://reviews.llvm.org/D41256
llvm-svn: 320750
show more ...
|
#
4273998c |
| 14-Dec-2017 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Add support for init functions linking metadata
Summary: This change lays the groundwork lowering of @llvm.global_ctors and @llvm.global_dtors for the wasm object format. Some parts o
[WebAssembly] Add support for init functions linking metadata
Summary: This change lays the groundwork lowering of @llvm.global_ctors and @llvm.global_dtors for the wasm object format. Some parts of this patch are subset of: https://reviews.llvm.org/D40759
See https://github.com/WebAssembly/tool-conventions/issues/25
Subscribers: jfb, dschuff, jgravelle-google, aheejin, sunfish
Differential Revision: https://reviews.llvm.org/D41208
llvm-svn: 320742
show more ...
|
#
7ae3f465 |
| 06-Dec-2017 |
Dan Gohman <dan433584@gmail.com> |
[WebAssembly] Commit a file I accidentally omitted from r319956.
llvm-svn: 319962
|
Revision tags: llvmorg-5.0.1, llvmorg-5.0.1-rc3 |
|
#
a2b35dac |
| 03-Dec-2017 |
Sam Clegg <sbc@chromium.org> |
Reland "[WebAssembly] Add visibility flag to Wasm symbol flags""
Original change was rL319488.
This was reverted rL319602 due to a gcc 7.1 warning.
Differential Revision: https://reviews.llvm.org/
Reland "[WebAssembly] Add visibility flag to Wasm symbol flags""
Original change was rL319488.
This was reverted rL319602 due to a gcc 7.1 warning.
Differential Revision: https://reviews.llvm.org/D40772
llvm-svn: 319626
show more ...
|
#
e74a864c |
| 02-Dec-2017 |
Heejin Ahn <aheejin@gmail.com> |
[WebAssembly] Revert r319488 "Add visibility flag to Wasm symbol flags"
This patch reportedly broke one of LLVM bots (ubuntu-gcc7.1-werror).
See http://lab.llvm.org:8011/builders/ubuntu-gcc7.1-werr
[WebAssembly] Revert r319488 "Add visibility flag to Wasm symbol flags"
This patch reportedly broke one of LLVM bots (ubuntu-gcc7.1-werror).
See http://lab.llvm.org:8011/builders/ubuntu-gcc7.1-werror/builds/3369 for details.
llvm-svn: 319602
show more ...
|