1 ; RUN: llc < %s -emulated-tls -mtriple=i686-linux-android -relocation-model=pic | FileCheck %s
2 ; RUN: llc < %s -emulated-tls -mtriple=x86_64-linux-android -relocation-model=pic | FileCheck %s
4 ; RUN: llc < %s -mtriple=i686-linux-android -relocation-model=pic | FileCheck %s
5 ; RUN: llc < %s -mtriple=x86_64-linux-android -relocation-model=pic | FileCheck %s
7 ; Make sure that some symboles are not emitted in emulated TLS model.
9 @external_x = external thread_local global i32
10 @external_y = thread_local global i32 7
11 @internal_y = internal thread_local global i32 9
12 @internal_y0 = internal thread_local global i32 0
14 define i32* @get_external_x() {
19 define i32* @get_external_y() {
24 define i32* @get_internal_y() {
29 define i32* @get_internal_y0() {
34 ; no direct access to emulated TLS variables.
35 ; no definition of emulated TLS variables.
36 ; no initializer for external TLS variables, __emutls_t.external_x
37 ; no initializer for 0-initialized TLS variables, __emutls_t.internal_y0
38 ; not global linkage for __emutls_t.external_y
40 ; CHECK-NOT: external_x@TLS
41 ; CHECK-NOT: external_y@TLS
42 ; CHECK-NOT: internal_y@TLS
43 ; CHECK-NOT: .size external_x
44 ; CHECK-NOT: .size external_y
45 ; CHECK-NOT: .size internal_y
46 ; CHECK-NOT: .size internal_y0
47 ; CHECK-NOT: __emutls_v.external_x:
48 ; CHECK-NOT: __emutls_t.external_x:
49 ; CHECK-NOT: __emutls_t.internal_y0:
50 ; CHECK-NOT: global __emutls_t.external_y
51 ; CHECK-NOT: global __emutls_v.internal_y
52 ; CHECK-NOT: global __emutls_v.internal_y0
54 ; CHECK: __emutls_t.external_y
56 ; CHECK-NOT: external_x@TLS
57 ; CHECK-NOT: external_y@TLS
58 ; CHECK-NOT: internal_y@TLS
59 ; CHECK-NOT: .size external_x
60 ; CHECK-NOT: .size external_y
61 ; CHECK-NOT: .size internal_y
62 ; CHECK-NOT: .size internal_y0
63 ; CHECK-NOT: __emutls_v.external_x:
64 ; CHECK-NOT: __emutls_t.external_x:
65 ; CHECK-NOT: __emutls_t.internal_y0:
66 ; CHECK-NOT: global __emutls_t.external_y
67 ; CHECK-NOT: global __emutls_v.internal_y
68 ; CHECK-NOT: global __emutls_v.internal_y0