diff options
| author | Guanzhong Chen <gzchen@google.com> | 2019-07-18 17:53:22 +0000 |
|---|---|---|
| committer | Guanzhong Chen <gzchen@google.com> | 2019-07-18 17:53:22 +0000 |
| commit | 801fa8e6b9eb2398a051752bb0e9d81279360d14 (patch) | |
| tree | 85dbbbc175c054a527d970f9ea819f05abd0880c /llvm/test/CodeGen/WebAssembly | |
| parent | 05be1da24cd947187a8b750e9eca45e80d2e7414 (diff) | |
| download | bcm5719-llvm-801fa8e6b9eb2398a051752bb0e9d81279360d14.tar.gz bcm5719-llvm-801fa8e6b9eb2398a051752bb0e9d81279360d14.zip | |
[WebAssembly] Implement __builtin_wasm_tls_base intrinsic
Summary:
Add `__builtin_wasm_tls_base` so that LeakSanitizer can find the thread-local
block and scan through it for memory leaks.
Reviewers: tlively, aheejin, sbc100
Subscribers: dschuff, jgravelle-google, hiraditya, sunfish, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D64900
llvm-svn: 366475
Diffstat (limited to 'llvm/test/CodeGen/WebAssembly')
| -rw-r--r-- | llvm/test/CodeGen/WebAssembly/tls-general-dynamic.ll | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/tls-general-dynamic.ll b/llvm/test/CodeGen/WebAssembly/tls-general-dynamic.ll index 3f6d9d325c6..975e2ce5569 100644 --- a/llvm/test/CodeGen/WebAssembly/tls-general-dynamic.ll +++ b/llvm/test/CodeGen/WebAssembly/tls-general-dynamic.ll @@ -75,6 +75,15 @@ define i32 @tls_size() { ret i32 %1 } +; CHECK-LABEL: tls_base: +; CHECK-NEXT: .functype tls_base () -> (i32) +define i8* @tls_base() { +; CHECK-NEXT: global.get __tls_base +; CHECK-NEXT: return + %1 = call i8* @llvm.wasm.tls.base() + ret i8* %1 +} + ; CHECK: .type tls,@object ; TLS-NEXT: .section .tbss.tls,"",@ ; NO-TLS-NEXT: .section .bss.tls,"",@ @@ -84,3 +93,4 @@ define i32 @tls_size() { @tls = internal thread_local global i32 0 declare i32 @llvm.wasm.tls.size.i32() +declare i8* @llvm.wasm.tls.base() |

