| 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 ; All thread-local variables should be removed | 3 ; All thread-local variables should be removed | 
| 4 ; RUN: opt < %s -nacl-expand-tls -S | not grep thread_local | 4 ; RUN: opt < %s -nacl-expand-tls -S | FileCheck %s -check-prefix=NO_TLS | 
| 5 | 5 | 
|  | 6 ; NO_TLS-NOT: thread_local | 
| 6 | 7 | 
| 7 @tvar1 = thread_local global i64 123 | 8 @tvar1 = thread_local global i64 123 | 
| 8 @tvar2 = thread_local global i32 456 | 9 @tvar2 = thread_local global i32 456 | 
| 9 | 10 | 
| 10 | 11 | 
| 11 ; CHECK: %tls_init_template = type <{ i64, i32 }> | 12 ; CHECK: %tls_init_template = type <{ i64, i32 }> | 
| 12 ; CHECK: %tls_struct = type <{ %tls_init_template, %tls_bss_template }> | 13 ; CHECK: %tls_struct = type <{ %tls_init_template, %tls_bss_template }> | 
| 13 ; CHECK: %tls_bss_template = type <{ [4 x i8] }> | 14 ; CHECK: %tls_bss_template = type <{ [4 x i8] }> | 
| 14 | 15 | 
| 15 | 16 | 
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 66 declare i32 @llvm.nacl.tp.tls.offset(i32) | 67 declare i32 @llvm.nacl.tp.tls.offset(i32) | 
| 67 declare i32 @llvm.nacl.tp.tdb.offset(i32) | 68 declare i32 @llvm.nacl.tp.tdb.offset(i32) | 
| 68 | 69 | 
| 69 define i32 @test_get_tp_tls_offset(i32 %tls_size) { | 70 define i32 @test_get_tp_tls_offset(i32 %tls_size) { | 
| 70   %offset = call i32 @llvm.nacl.tp.tls.offset(i32 %tls_size) | 71   %offset = call i32 @llvm.nacl.tp.tls.offset(i32 %tls_size) | 
| 71   ret i32 %offset | 72   ret i32 %offset | 
| 72 } | 73 } | 
| 73 ; Uses of the intrinsic are replaced with uses of a regular function. | 74 ; Uses of the intrinsic are replaced with uses of a regular function. | 
| 74 ; CHECK: define i32 @test_get_tp_tls_offset | 75 ; CHECK: define i32 @test_get_tp_tls_offset | 
| 75 ; CHECK: call i32 @nacl_tp_tls_offset | 76 ; CHECK: call i32 @nacl_tp_tls_offset | 
| 76 ; RUN: opt < %s -nacl-expand-tls -S | not grep llvm.nacl.tp.tls.offset | 77 ; NO_TLS-NOT: llvm.nacl.tp.tls.offset | 
| 77 | 78 | 
| 78 define i32 @test_get_tp_tdb_offset(i32 %tdb_size) { | 79 define i32 @test_get_tp_tdb_offset(i32 %tdb_size) { | 
| 79   %offset = call i32 @llvm.nacl.tp.tdb.offset(i32 %tdb_size) | 80   %offset = call i32 @llvm.nacl.tp.tdb.offset(i32 %tdb_size) | 
| 80   ret i32 %offset | 81   ret i32 %offset | 
| 81 } | 82 } | 
| 82 ; Uses of the intrinsic are replaced with uses of a regular function. | 83 ; Uses of the intrinsic are replaced with uses of a regular function. | 
| 83 ; CHECK: define i32 @test_get_tp_tdb_offset | 84 ; CHECK: define i32 @test_get_tp_tdb_offset | 
| 84 ; CHECK: call i32 @nacl_tp_tdb_offset | 85 ; CHECK: call i32 @nacl_tp_tdb_offset | 
| 85 ; RUN: opt < %s -nacl-expand-tls -S | not grep llvm.nacl.tp.tdb.offset | 86 ; NO_TLS-NOT: llvm.nacl.tp.tdb.offset | 
| OLD | NEW | 
|---|