Ulrich Weigand | 7db6918 | 2015-02-18 09:13:27 +0000 | [diff] [blame^] | 1 | ; Test general-dynamic TLS access optimizations. |
2 | ; | ||||
3 | ; If we access the same TLS variable twice, there should only be | ||||
4 | ; a single call to __tls_get_offset. | ||||
5 | ; | ||||
6 | ; RUN: llc < %s -mcpu=z10 -mtriple=s390x-linux-gnu -relocation-model=pic | grep "__tls_get_offset" | count 1 | ||||
7 | |||||
8 | @x = thread_local global i32 0 | ||||
9 | |||||
10 | define i32 @foo() { | ||||
11 | %val = load i32* @x | ||||
12 | %inc = add nsw i32 %val, 1 | ||||
13 | store i32 %inc, i32* @x | ||||
14 | ret i32 %val | ||||
15 | } |