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 3 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 6 7; Make sure that some symboles are not emitted in emulated TLS model. 8 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 13 14define ptr @get_external_x() { 15entry: 16 ret ptr @external_x 17} 18 19define ptr @get_external_y() { 20entry: 21 ret ptr @external_y 22} 23 24define ptr @get_internal_y() { 25entry: 26 ret ptr @internal_y 27} 28 29define ptr @get_internal_y0() { 30entry: 31 ret ptr @internal_y0 32} 33 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 39 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 53 54; CHECK: __emutls_t.external_y 55 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 69