OLD | NEW |
1 ; RUN: opt < %s -nacl-expand-tls -S | FileCheck %s | 1 ; RUN: opt < %s -nacl-expand-tls -S | FileCheck %s |
2 | 2 |
3 @tvar = thread_local global i32 0 | 3 @tvar = thread_local global i32 0 |
4 | 4 |
5 define i32 @get_tvar() { | 5 define i32 @get_tvar() { |
6 ret i32 ptrtoint (i32* @tvar to i32) | 6 ret i32 ptrtoint (i32* @tvar to i32) |
7 } | 7 } |
8 ; CHECK: %tls_raw = call i8* @llvm.nacl.read.tp() | 8 ; CHECK: %tls_raw = call i8* @llvm.nacl.read.tp() |
9 ; CHECK: %tls_struct = bitcast i8* %tls_raw to %tls_struct* | 9 ; CHECK: %tls_struct = bitcast i8* %tls_raw to %tls_struct* |
10 ; CHECK: %field = getelementptr %tls_struct* %tls_struct, i32 -1, i32 1, i32 0 | 10 ; CHECK: %field = getelementptr %tls_struct, %tls_struct* %tls_struct, i32 -1, i
32 1, i32 0 |
11 ; CHECK: %expanded = ptrtoint i32* %field to i32 | 11 ; CHECK: %expanded = ptrtoint i32* %field to i32 |
12 ; CHECK: ret i32 %expanded | 12 ; CHECK: ret i32 %expanded |
OLD | NEW |