diff options
| author | Derek Schuff <dschuff@google.com> | 2018-03-20 22:01:32 +0000 |
|---|---|---|
| committer | Derek Schuff <dschuff@google.com> | 2018-03-20 22:01:32 +0000 |
| commit | 39b5367cba5d706ece4091cb33e850b68486b53a (patch) | |
| tree | 240c607188f3726a15877299e1bef4a8dd501390 /llvm/test | |
| parent | e28ff4d43fb2f48f0c679a2305ea50aef1e8a456 (diff) | |
| download | bcm5719-llvm-39b5367cba5d706ece4091cb33e850b68486b53a.tar.gz bcm5719-llvm-39b5367cba5d706ece4091cb33e850b68486b53a.zip | |
[WebAssembly] Strip threadlocal attribute from globals in single thread mode
The default thread model for wasm is single, and in this mode thread-local
global variables can be lowered identically to non-thread-local variables.
Differential Revision: https://reviews.llvm.org/D44703
llvm-svn: 328049
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/CodeGen/WebAssembly/tls.ll | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/tls.ll b/llvm/test/CodeGen/WebAssembly/tls.ll new file mode 100644 index 00000000000..1c02f490e29 --- /dev/null +++ b/llvm/test/CodeGen/WebAssembly/tls.ll @@ -0,0 +1,17 @@ +; RUN: llc < %s -asm-verbose=false -disable-wasm-fallthrough-return-opt -disable-wasm-explicit-locals -thread-model=single | FileCheck --check-prefix=SINGLE %s +target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128" +target triple = "wasm32-unknown-unknown-wasm" + +; SINGLE-LABEL: address_of_tls: +define i32 @address_of_tls() { + ; SINGLE: i32.const $push0=, tls + ; SINGLE-NEXT: return $pop0 + ret i32 ptrtoint(i32* @tls to i32) +} + +; SINGLE: .type tls,@object +; SINGLE-NEXT: .section .bss.tls,"",@ +; SINGLE-NEXT: .p2align 2 +; SINGLE-NEXT: tls: +; SINGLE-NEXT: .int32 0 +@tls = internal thread_local global i32 0 |

