#
a28a4662 |
| 11-Nov-2020 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Add new relocation type for TLS data symbols
These relocations represent offsets from the __tls_base symbol.
Previously we were just using normal MEMORY_ADDR relocations and relying o
[WebAssembly] Add new relocation type for TLS data symbols
These relocations represent offsets from the __tls_base symbol.
Previously we were just using normal MEMORY_ADDR relocations and relying on the linker to select a segment-offset rather and absolute value in Symbol::getVirtualAddress(). Using an explicit relocation type allows allow us to clearly distinguish absolute from relative relocations based on the relocation information alone.
One place this is useful is being able to reject absolute relocation in the PIC case, but still accept TLS relocations.
Differential Revision: https://reviews.llvm.org/D91276
show more ...
|
#
69e2797e |
| 23-Oct-2020 |
Paulo Matos <pmatos@igalia.com> |
[WebAssembly] Implementation of (most) table instructions
Implementation of instructions table.get, table.set, table.grow, table.size, table.fill, table.copy.
Missing instructions are table.init an
[WebAssembly] Implementation of (most) table instructions
Implementation of instructions table.get, table.set, table.grow, table.size, table.fill, table.copy.
Missing instructions are table.init and elem.drop as they deal with element sections which are not yet implemented.
Added more tests to tables.s
Differential Revision: https://reviews.llvm.org/D89797
show more ...
|
#
388fb67b |
| 13-Oct-2020 |
Paulo Matos <pmatos@linki.tools> |
[WebAssembly] Added .tabletype to asm and multiple table support in obj files
Adds more testing in basic-assembly.s and a new test tables.s. Adds support to yaml reading and writing of tables as wel
[WebAssembly] Added .tabletype to asm and multiple table support in obj files
Adds more testing in basic-assembly.s and a new test tables.s. Adds support to yaml reading and writing of tables as well.
Differential Revision: https://reviews.llvm.org/D88815
show more ...
|
Revision tags: llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init |
|
#
cc1b9b68 |
| 10-Jul-2020 |
Wouter van Oortmerssen <aardappel@gmail.com> |
[WebAssembly] 64-bit (function) pointer fixes.
Accounting for the fact that Wasm function indices are 32-bit, but in wasm64 we want uniform 64-bit pointers. Includes reloc types for 64-bit table ind
[WebAssembly] 64-bit (function) pointer fixes.
Accounting for the fact that Wasm function indices are 32-bit, but in wasm64 we want uniform 64-bit pointers. Includes reloc types for 64-bit table indices.
Differential Revision: https://reviews.llvm.org/D83729
show more ...
|
Revision tags: llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3 |
|
#
29f8c9f6 |
| 06-Jul-2020 |
Wouter van Oortmerssen <aardappel@gmail.com> |
[WebAssembly] Triple::wasm64 related cleanup
Differential Revision: https://reviews.llvm.org/D83713
|
#
4d135b04 |
| 30-Jun-2020 |
Wouter van Oortmerssen <aardappel@gmail.com> |
[WebAssembly] 64-bit memory limits
|
Revision tags: llvmorg-10.0.1-rc2 |
|
#
79aad89d |
| 16-Jun-2020 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Add support for externalref to MC and wasm-ld
This allows code for handling externref values to be processed by the assembler and linker.
Differential Revision: https://reviews.llvm.o
[WebAssembly] Add support for externalref to MC and wasm-ld
This allows code for handling externref values to be processed by the assembler and linker.
Differential Revision: https://reviews.llvm.org/D81977
show more ...
|
#
3b29376e |
| 05-Jun-2020 |
Wouter van Oortmerssen <aardappel@gmail.com> |
[WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs
This adds 4 new reloc types.
A lot of code that previously assumed any memory or offset values could be contained in a uint32_t (a
[WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs
This adds 4 new reloc types.
A lot of code that previously assumed any memory or offset values could be contained in a uint32_t (and often truncated results from functions returning 64-bit values) have been upgraded to uint64_t. This is not comprehensive: it is only the values that come in contact with the new relocation values and their dependents.
A new tablegen mapping was added to automatically upgrade loads/stores in the assembler, which otherwise has no way to select for these instructions (since they are indentical other than for the offset immediate). It follows a similar technique to https://reviews.llvm.org/D53307
Differential Revision: https://reviews.llvm.org/D81704
show more ...
|
#
0ea52537 |
| 28-May-2020 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
SymbolicFile.h - removed unused FileSystem.h include. NFC.
Exposes a number of implicit dependencies that needs fixing in source files and XCOFFObjectFile.h.
|
Revision tags: llvmorg-10.0.1-rc1 |
|
#
ac00376a |
| 10-Apr-2020 |
vgxbj <higuoxing@gmail.com> |
[Object] Change uint32_t getSymbolFlags() to Expected<uint32_t> getSymbolFlags().
This change enables getSymbolFlags() to return errors which benefit error reporting in clients.
Differential Revisi
[Object] Change uint32_t getSymbolFlags() to Expected<uint32_t> getSymbolFlags().
This change enables getSymbolFlags() to return errors which benefit error reporting in clients.
Differential Revision: https://reviews.llvm.org/D77860
show more ...
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6 |
|
#
48139ebc |
| 20-Mar-2020 |
Wouter van Oortmerssen <aardappel@gmail.com> |
[WebAssembly] Add int32 DW_OP_WASM_location variant
This to allow us to add reloctable global indices as a symbol. Also adds R_WASM_GLOBAL_INDEX_I32 relocation type to support it.
See discussion in
[WebAssembly] Add int32 DW_OP_WASM_location variant
This to allow us to add reloctable global indices as a symbol. Also adds R_WASM_GLOBAL_INDEX_I32 relocation type to support it.
See discussion in https://github.com/WebAssembly/debugging/issues/12
show more ...
|
#
2a68573a |
| 15-Apr-2020 |
Sam Clegg <sbc@chromium.org> |
Enable finding bitcode in wasm objects
This commit fixes using functions in `IRObjectFile` to load bitcode from wasm objects by recognizing the file magic for wasm and also inheriting the default im
Enable finding bitcode in wasm objects
This commit fixes using functions in `IRObjectFile` to load bitcode from wasm objects by recognizing the file magic for wasm and also inheriting the default implementation of classifying sections as bitcode.
Patch By: alexcrichton
Differential Revision: https://reviews.llvm.org/D78199
show more ...
|
#
f93426c5 |
| 25-Mar-2020 |
Heejin Ahn <aheejin@gmail.com> |
[WebAssembly] Move event section before global section
Summary: https://github.com/WebAssembly/exception-handling/issues/98
Also this moves many parts of code to make code align with the section or
[WebAssembly] Move event section before global section
Summary: https://github.com/WebAssembly/exception-handling/issues/98
Also this moves many parts of code to make code align with the section order, even if they don't affect the output.
Reviewers: tlively
Subscribers: dschuff, sbc100, hiraditya, sunfish, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76752
show more ...
|
Revision tags: llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2 |
|
#
bd481277 |
| 06-Feb-2020 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Use llvm::Optional to store optional symbol attributes. NFC.
The changes the in-memory representation of wasm symbols such that their optional ImportName and ImportModule use llvm::Op
[WebAssembly] Use llvm::Optional to store optional symbol attributes. NFC.
The changes the in-memory representation of wasm symbols such that their optional ImportName and ImportModule use llvm::Optional.
ImportName is set whenever WASM_SYMBOL_EXPLICIT_NAME flag is set. ImportModule (for imports) is currently always set since it defaults to "env".
In the future we can possibly extent to binary format distingish import which have explit module names.
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74109
show more ...
|
#
c55cf4af |
| 10-Feb-2020 |
Bill Wendling <isanbard@gmail.com> |
Revert "Remove redundant "std::move"s in return statements"
The build failed with
error: call to deleted constructor of 'llvm::Error'
errors.
This reverts commit 1c2241a7936bf85aa68aef94bd40c3b
Revert "Remove redundant "std::move"s in return statements"
The build failed with
error: call to deleted constructor of 'llvm::Error'
errors.
This reverts commit 1c2241a7936bf85aa68aef94bd40c3ba77d8ddf2.
show more ...
|
#
1c2241a7 |
| 10-Feb-2020 |
Bill Wendling <isanbard@gmail.com> |
Remove redundant "std::move"s in return statements
|
Revision tags: llvmorg-10.0.0-rc1 |
|
#
a9bc7b83 |
| 29-Jan-2020 |
Benjamin Kramer <benny.kra@googlemail.com> |
Another round of GCC5 fixes.
|
#
adcd0268 |
| 28-Jan-2020 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make llvm::StringRef to std::string conversions explicit.
This is how it should've been and brings it more in line with std::string_view. There should be no functional change here.
This is mostly m
Make llvm::StringRef to std::string conversions explicit.
This is how it should've been and brings it more in line with std::string_view. There should be no functional change here.
This is mostly mechanical from a custom clang-tidy check, with a lot of manual fixups. It uncovers a lot of minor inefficiencies.
This doesn't actually modify StringRef yet, I'll do that in a follow-up.
show more ...
|
#
da6a896e |
| 23-Jan-2020 |
Derek Schuff <dschuff@chromium.org> |
[WebAssembly] Add WebAssembly support to llvm-symbolizer
The only thing missing for basic llvm-symbolizer support is the ability on lib/Object to get a wasm symbol's section ID, which allows sorting
[WebAssembly] Add WebAssembly support to llvm-symbolizer
The only thing missing for basic llvm-symbolizer support is the ability on lib/Object to get a wasm symbol's section ID, which allows sorting and computation of the symbols' sizes.
Also, when the WasmAsmParser switches sections on new functions, also add the section to the list of Dwarf sections if Dwarf is being generated for assembly; this allows writing of simple tests.
Reviewers: sbc100, jhenderson, aardappel
Differential Revision: https://reviews.llvm.org/D73246
show more ...
|
Revision tags: llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1 |
|
#
881d8778 |
| 05-Nov-2019 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Add new `export_name` clang attribute for controlling wasm export names
This is equivalent to the existing `import_name` and `import_module` attributes which control the import names i
[WebAssembly] Add new `export_name` clang attribute for controlling wasm export names
This is equivalent to the existing `import_name` and `import_module` attributes which control the import names in the final wasm binary produced by lld.
This maps the existing
This attribute currently requires a string rather than using the symbol name for a couple of reasons:
1. Avoid confusion with static and dynamic linking which is based on symbol name. Exporting a function from a wasm module using this directive is orthogonal to both static and dynamic linking. 2. Avoids name mangling.
Differential Revision: https://reviews.llvm.org/D70520
show more ...
|
#
393d0f79 |
| 18-Oct-2019 |
Thomas Lively <tlively@google.com> |
[WebAssembly] Allow multivalue signatures in object files
Summary: Also changes the wasm YAML format to reflect the possibility of having multiple return types and to put the returns after the param
[WebAssembly] Allow multivalue signatures in object files
Summary: Also changes the wasm YAML format to reflect the possibility of having multiple return types and to put the returns after the params for consistency with the binary encoding.
Reviewers: aheejin, sbc100
Subscribers: dschuff, jgravelle-google, hiraditya, sunfish, arphaman, rupprecht, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69156
llvm-svn: 375283
show more ...
|
Revision tags: llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3 |
|
#
0eaee545 |
| 15-Aug-2019 |
Jonas Devlieghere <jonas@devlieghere.com> |
[llvm] Migrate llvm::make_unique to std::make_unique
Now that we've moved to C++14, we no longer need the llvm::make_unique implementation from STLExtras.h. This patch is a mechanical replacement of
[llvm] Migrate llvm::make_unique to std::make_unique
Now that we've moved to C++14, we no longer need the llvm::make_unique implementation from STLExtras.h. This patch is a mechanical replacement of (hopefully) all the llvm::make_unique instances across the monorepo.
llvm-svn: 369013
show more ...
|
Revision tags: llvmorg-9.0.0-rc2 |
|
#
7eacefed |
| 02-Aug-2019 |
David Candler <david.candler@arm.com> |
[NFC] Test commit, corrected some spelling in comment
Test commit, corrected some spelling in comment.
Differential Revision: https://reviews.llvm.org/D65516
llvm-svn: 367685
|
Revision tags: llvmorg-9.0.0-rc1, llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1 |
|
#
e1cb2c0f |
| 14-May-2019 |
Fangrui Song <maskray@google.com> |
[Object] Change ObjectFile::getSectionContents to return Expected<ArrayRef<uint8_t>>
Change std::error_code getSectionContents(DataRefImpl, StringRef &) const; to Expected<ArrayRef<uint8_t>> getSect
[Object] Change ObjectFile::getSectionContents to return Expected<ArrayRef<uint8_t>>
Change std::error_code getSectionContents(DataRefImpl, StringRef &) const; to Expected<ArrayRef<uint8_t>> getSectionContents(DataRefImpl) const;
Many object formats use ArrayRef<uint8_t> as the underlying type, which is generally better than StringRef to represent binary data, so change the type to decrease the number of type conversions.
Reviewed By: ruiu, sbc100
Differential Revision: https://reviews.llvm.org/D61781
llvm-svn: 360648
show more ...
|
#
8be28cdc |
| 02-May-2019 |
Fangrui Song <maskray@google.com> |
[Object] Change getSectionName() to return Expected<StringRef>
Summary: It currently receives an output parameter and returns std::error_code. Expected<StringRef> fits for this purpose perfectly.
D
[Object] Change getSectionName() to return Expected<StringRef>
Summary: It currently receives an output parameter and returns std::error_code. Expected<StringRef> fits for this purpose perfectly.
Differential Revision: https://reviews.llvm.org/D61421
llvm-svn: 359774
show more ...
|