llvm-project/lld/wasm
Guanzhong Chen 5204f7611f [WebAssembly] Compute and export TLS block alignment
Summary:
Add immutable WASM global `__tls_align` which stores the alignment
requirements of the TLS segment.

Add `__builtin_wasm_tls_align()` intrinsic to get this alignment in Clang.

The expected usage has now changed to:

    __wasm_init_tls(memalign(__builtin_wasm_tls_align(),
                             __builtin_wasm_tls_size()));

Reviewers: tlively, aheejin, sbc100, sunfish, alexcrichton

Reviewed By: tlively

Subscribers: dschuff, jgravelle-google, hiraditya, cfe-commits, llvm-commits

Tags: #clang, #llvm

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

llvm-svn: 366624
2019-07-19 23:34:16 +00:00
..
CMakeLists.txt [WebAssembly] Refactor synthetic sections and relocation processing. NFC. 2019-05-21 09:13:09 +00:00
Config.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
Driver.cpp [WebAssembly] Compute and export TLS block alignment 2019-07-19 23:34:16 +00:00
InputChunks.cpp [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
InputChunks.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
InputEvent.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
InputFiles.cpp [lld][WebAssembly] Fix handling of comdat functions in init array. 2019-07-17 18:43:36 +00:00
InputFiles.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
InputGlobal.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
LTO.cpp [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
LTO.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
MarkLive.cpp [WebAssembly] Rename variale references in comments after VariableName -> variableName change 2019-07-16 08:08:17 +00:00
MarkLive.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Options.td [WebAssembly] Use passive segments by default when memory is shared 2019-07-18 21:50:24 +00:00
OutputSections.cpp [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
OutputSections.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
OutputSegment.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
Relocations.cpp [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
Relocations.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
SymbolTable.cpp [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
SymbolTable.h [WebAssembly] Rename variale references in comments after VariableName -> variableName change 2019-07-16 08:08:17 +00:00
Symbols.cpp [WebAssembly] Compute and export TLS block alignment 2019-07-19 23:34:16 +00:00
Symbols.h [WebAssembly] Compute and export TLS block alignment 2019-07-19 23:34:16 +00:00
SyntheticSections.cpp [WebAssembly] Rename variale references in comments after VariableName -> variableName change 2019-07-16 08:08:17 +00:00
SyntheticSections.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
Writer.cpp [WebAssembly] Compute and export TLS block alignment 2019-07-19 23:34:16 +00:00
Writer.h [WebAssembly] Refactor synthetic sections and relocation processing. NFC. 2019-05-21 09:13:09 +00:00
WriterUtils.cpp [WebAssembly] Rename except_ref type to exnref 2019-07-15 22:49:25 +00:00
WriterUtils.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00