aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/X86/tls6.ll
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2012-04-09 01:43:17 +0000
committerChandler Carruth <chandlerc@gmail.com>2012-04-09 01:43:17 +0000
commit6916a2375a210e3c60a599b9f1f8c13f38455a9b (patch)
tree775e52f6223c8e588445d1a2a509722fce65b4ec /test/CodeGen/X86/tls6.ll
parent10612dc15f48cace9d62c7b5df772234a7c386e4 (diff)
downloadexternal_llvm-6916a2375a210e3c60a599b9f1f8c13f38455a9b.zip
external_llvm-6916a2375a210e3c60a599b9f1f8c13f38455a9b.tar.gz
external_llvm-6916a2375a210e3c60a599b9f1f8c13f38455a9b.tar.bz2
Fold 15 tiny test cases into a single file that implements the
comprehensive testing of TLS codegen for x86. Convert all of the ones that were still using grep to use FileCheck. Remove some redundancies between them. Perhaps most interestingly expand the test cases so that they actually fully list the instruction snippet being tested. TLS operations are *very* narrowly defined, and so these seem reasonably stable. More importantly, the existing test cases already were crazy fine grained, expecting specific registers to be allocated. This just clarifies that no *other* instructions are expected, and fills in some crucial gaps that weren't being tested at all. This will make any subsequent changes to TLS much more clear during review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154303 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/tls6.ll')
-rw-r--r--test/CodeGen/X86/tls6.ll21
1 files changed, 0 insertions, 21 deletions
diff --git a/test/CodeGen/X86/tls6.ll b/test/CodeGen/X86/tls6.ll
deleted file mode 100644
index c98ad7c..0000000
--- a/test/CodeGen/X86/tls6.ll
+++ /dev/null
@@ -1,21 +0,0 @@
-; RUN: llc < %s -march=x86 -mtriple=i386-linux-gnu | FileCheck -check-prefix=X32_LINUX %s
-; RUN: llc < %s -march=x86-64 -mtriple=x86_64-linux-gnu | FileCheck -check-prefix=X64_LINUX %s
-; RUN: llc < %s -march=x86 -mtriple=x86-pc-win32 | FileCheck -check-prefix=X32_WIN %s
-; RUN: llc < %s -march=x86-64 -mtriple=x86_64-pc-win32 | FileCheck -check-prefix=X64_WIN %s
-
-@i = internal thread_local global i32 15
-
-define i32* @f() {
-entry:
- ret i32* @i
-}
-; X32_LINUX: movl %gs:0, %eax
-; X32_LINUX: leal i@NTPOFF(%eax), %eax
-; X64_LINUX: movq %fs:0, %rax
-; X64_LINUX: leaq i@TPOFF(%rax), %rax
-; X32_WIN: movl __tls_index, %eax
-; X32_WIN: movl %fs:__tls_array, %ecx
-; X32_WIN: leal _i@SECREL(%eax), %eax
-; X64_WIN: movl _tls_index(%rip), %eax
-; X64_WIN: movq %gs:88, %rcx
-; X64_WIN: addq $i@SECREL, %rax