1 ; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux %s -o - | llvm-readobj -r | FileCheck %s 2 3 ; Check that the appropriate relocations were created. 4 5 ; CHECK: Relocations [ 6 ; CHECK: Section (2) .rel.text { 7 ; CHECK: R_MIPS_TLS_LDM 8 ; CHECK: R_MIPS_TLS_DTPREL_HI16 9 ; CHECK: R_MIPS_TLS_DTPREL_LO16 10 ; CHECK: } 11 ; CHECK: ] 12 13 @t1 = thread_local global i32 0, align 4 14 15 define i32 @f1() nounwind { 16 entry: 17 %tmp = load i32* @t1, align 4 18 ret i32 %tmp 19 20 } 21 22 23 @t2 = external thread_local global i32 24 25 define i32 @f2() nounwind { 26 entry: 27 %tmp = load i32* @t2, align 4 28 ret i32 %tmp 29 30 } 31 32 @f3.i = internal thread_local unnamed_addr global i32 1, align 4 33 34 define i32 @f3() nounwind { 35 entry: 36 %0 = load i32* @f3.i, align 4 37 %inc = add nsw i32 %0, 1 38 store i32 %inc, i32* @f3.i, align 4 39 ret i32 %inc 40 } 41