| Index: test/NaCl/X86/llc-make-symbols-hidden.ll
|
| diff --git a/test/NaCl/X86/llc-make-symbols-hidden.ll b/test/NaCl/X86/llc-make-symbols-hidden.ll
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f18bca324946eed9cc56d298b5215cb7cf16485d
|
| --- /dev/null
|
| +++ b/test/NaCl/X86/llc-make-symbols-hidden.ll
|
| @@ -0,0 +1,27 @@
|
| +; RUN: pnacl-llc -mtriple=i686-unknown-nacl -filetype=asm %s -o - \
|
| +; RUN: -relocation-model=pic | FileCheck %s
|
| +
|
| +; This should have "hidden" automatically added to it.
|
| +declare void @callee()
|
| +
|
| +define void @caller() {
|
| + tail call void @callee()
|
| + ret void
|
| +}
|
| +; CHECK-LABEL: caller
|
| +; As we automatically make callee hidden, we should see neither an
|
| +; access to GOT nor jmp instruction to PLT.
|
| +; CHECK-NOT: _GLOBAL_OFFSET_TABLE_
|
| +; CHECK-NOT: jmp callee@PLT
|
| +; CHECK: jmp callee
|
| +
|
| +; This should have "hidden" automatically added to it.
|
| +@tls_var = external thread_local global i32
|
| +
|
| +define i32* @get_tls_addr() {
|
| + ret i32* @tls_var
|
| +}
|
| +; CHECK-LABEL: get_tls_addr
|
| +; There must be no general dynamic TLS.
|
| +; CHECK-NOT: @TLSGD
|
| +; CHECK: tls_var@TLSLDM
|
|
|