brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 6c4ea83 Raw
69 lines · plain
1; RUN: llc < %s -emulated-tls -mtriple=i686-linux-android -relocation-model=pic | FileCheck  %s2; RUN: llc < %s -emulated-tls -mtriple=x86_64-linux-android -relocation-model=pic | FileCheck  %s3 4; RUN: llc < %s -mtriple=i686-linux-android -relocation-model=pic | FileCheck  %s5; RUN: llc < %s -mtriple=x86_64-linux-android -relocation-model=pic | FileCheck  %s6 7; Make sure that some symboles are not emitted in emulated TLS model.8 9@external_x = external thread_local global i3210@external_y = thread_local global i32 711@internal_y = internal thread_local global i32 912@internal_y0 = internal thread_local global i32 013 14define ptr @get_external_x() {15entry:16  ret ptr @external_x17}18 19define ptr @get_external_y() {20entry:21  ret ptr @external_y22}23 24define ptr @get_internal_y() {25entry:26  ret ptr @internal_y27}28 29define ptr @get_internal_y0() {30entry:31  ret ptr @internal_y032}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_x37; no initializer for 0-initialized TLS variables, __emutls_t.internal_y038; not global linkage for __emutls_t.external_y39 40; CHECK-NOT: external_x@TLS41; CHECK-NOT: external_y@TLS42; CHECK-NOT: internal_y@TLS43; CHECK-NOT: .size external_x44; CHECK-NOT: .size external_y45; CHECK-NOT: .size internal_y46; CHECK-NOT: .size internal_y047; 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_y51; CHECK-NOT: global __emutls_v.internal_y52; CHECK-NOT: global __emutls_v.internal_y053 54; CHECK:     __emutls_t.external_y55 56; CHECK-NOT: external_x@TLS57; CHECK-NOT: external_y@TLS58; CHECK-NOT: internal_y@TLS59; CHECK-NOT: .size external_x60; CHECK-NOT: .size external_y61; CHECK-NOT: .size internal_y62; CHECK-NOT: .size internal_y063; 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_y67; CHECK-NOT: global __emutls_v.internal_y68; CHECK-NOT: global __emutls_v.internal_y069