SuccessChanges

Summary

  1. [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
Revision 366624 by quantum:
[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
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/BuiltinsWebAssembly.def (diff)clang.src/include/clang/Basic/BuiltinsWebAssembly.def
The file was modified/cfe/trunk/lib/CodeGen/CGBuiltin.cpp (diff)clang.src/lib/CodeGen/CGBuiltin.cpp
The file was modified/cfe/trunk/test/CodeGen/builtins-wasm.c (diff)clang.src/test/CodeGen/builtins-wasm.c
The file was added/lld/trunk/test/wasm/tls-align.llN/A
The file was modified/lld/trunk/test/wasm/tls.ll (diff)N/A
The file was modified/lld/trunk/wasm/Driver.cpp (diff)N/A
The file was modified/lld/trunk/wasm/Symbols.cpp (diff)N/A
The file was modified/lld/trunk/wasm/Symbols.h (diff)N/A
The file was modified/lld/trunk/wasm/Writer.cpp (diff)N/A
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicsWebAssembly.td (diff)llvm.src/include/llvm/IR/IntrinsicsWebAssembly.td
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/tls-general-dynamic.ll (diff)llvm.src/test/CodeGen/WebAssembly/tls-general-dynamic.ll