Files
clang-p2996/llvm/test/CodeGen/WebAssembly/tls.ll
Derek Schuff 39b5367cba [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
2018-03-20 22:01:32 +00:00

18 lines
608 B
LLVM

; 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