diff options
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 |

