diff options
Diffstat (limited to 'test/CodeGen/SystemZ/tls-07.ll')
-rw-r--r-- | test/CodeGen/SystemZ/tls-07.ll | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/CodeGen/SystemZ/tls-07.ll b/test/CodeGen/SystemZ/tls-07.ll new file mode 100644 index 0000000..6547515 --- /dev/null +++ b/test/CodeGen/SystemZ/tls-07.ll @@ -0,0 +1,16 @@ +; Test local-dynamic TLS access optimizations. +; +; If we access two different local-dynamic TLS variables, we only +; need a single call to __tls_get_offset. +; +; RUN: llc < %s -mcpu=z10 -mtriple=s390x-linux-gnu -relocation-model=pic | grep "__tls_get_offset" | count 1 + +@x = thread_local(localdynamic) global i32 0 +@y = thread_local(localdynamic) global i32 0 + +define i32 @foo() { + %valx = load i32* @x + %valy = load i32* @y + %add = add nsw i32 %valx, %valy + ret i32 %add +} |