1 ; RUN: llc < %s -emulated-tls -march=x86 -mtriple=x86_64-linux-android -relocation-model=pic | FileCheck %s 2 ; RUN: llc < %s -emulated-tls -march=x86-64 -mtriple=x86_64-linux-android -relocation-model=pic | FileCheck %s 3 4 ; Make sure that some symboles are not emitted in emulated TLS model. 5 6 @external_x = external thread_local global i32 7 @external_y = thread_local global i32 7 8 @internal_y = internal thread_local global i32 9 9 @internal_y0 = internal thread_local global i32 0 10 11 define i32* @get_external_x() { 12 entry: 13 ret i32* @external_x 14 } 15 16 define i32* @get_external_y() { 17 entry: 18 ret i32* @external_y 19 } 20 21 define i32* @get_internal_y() { 22 entry: 23 ret i32* @internal_y 24 } 25 26 define i32* @get_internal_y0() { 27 entry: 28 ret i32* @internal_y0 29 } 30 31 ; no direct access to emulated TLS variables. 32 ; no definition of emulated TLS variables. 33 ; no initializer for external TLS variables, __emutls_t.external_x 34 ; no initializer for 0-initialized TLS variables, __emutls_t.internal_y0 35 ; not global linkage for __emutls_t.external_y 36 37 ; CHECK-NOT: external_x@TLS 38 ; CHECK-NOT: external_y@TLS 39 ; CHECK-NOT: internal_y@TLS 40 ; CHECK-NOT: .size external_x 41 ; CHECK-NOT: .size external_y 42 ; CHECK-NOT: .size internal_y 43 ; CHECK-NOT: .size internal_y0 44 ; CHECK-NOT: __emutls_v.external_x: 45 ; CHECK-NOT: __emutls_t.external_x: 46 ; CHECK-NOT: __emutls_t.internal_y0: 47 ; CHECK-NOT: global __emutls_t.external_y 48 ; CHECK-NOT: global __emutls_v.internal_y 49 ; CHECK-NOT: global __emutls_v.internal_y0 50 51 ; CHECK: __emutls_t.external_y 52 53 ; CHECK-NOT: external_x@TLS 54 ; CHECK-NOT: external_y@TLS 55 ; CHECK-NOT: internal_y@TLS 56 ; CHECK-NOT: .size external_x 57 ; CHECK-NOT: .size external_y 58 ; CHECK-NOT: .size internal_y 59 ; CHECK-NOT: .size internal_y0 60 ; CHECK-NOT: __emutls_v.external_x: 61 ; CHECK-NOT: __emutls_t.external_x: 62 ; CHECK-NOT: __emutls_t.internal_y0: 63 ; CHECK-NOT: global __emutls_t.external_y 64 ; CHECK-NOT: global __emutls_v.internal_y 65 ; CHECK-NOT: global __emutls_v.internal_y0 66