aboutsummaryrefslogtreecommitdiffstats
path: root/test/Instrumentation/ThreadSanitizer
diff options
context:
space:
mode:
Diffstat (limited to 'test/Instrumentation/ThreadSanitizer')
-rw-r--r--test/Instrumentation/ThreadSanitizer/atomic.ll40
-rw-r--r--test/Instrumentation/ThreadSanitizer/capture.ll4
-rw-r--r--test/Instrumentation/ThreadSanitizer/no_sanitize_thread.ll8
-rw-r--r--test/Instrumentation/ThreadSanitizer/read_before_write.ll4
-rw-r--r--test/Instrumentation/ThreadSanitizer/read_from_global.ll12
-rw-r--r--test/Instrumentation/ThreadSanitizer/tsan-vs-gvn.ll4
-rw-r--r--test/Instrumentation/ThreadSanitizer/tsan_basic.ll4
-rw-r--r--test/Instrumentation/ThreadSanitizer/unaligned.ll20
-rw-r--r--test/Instrumentation/ThreadSanitizer/vptr_read.ll2
9 files changed, 49 insertions, 49 deletions
diff --git a/test/Instrumentation/ThreadSanitizer/atomic.ll b/test/Instrumentation/ThreadSanitizer/atomic.ll
index e40268f..1d6ac38 100644
--- a/test/Instrumentation/ThreadSanitizer/atomic.ll
+++ b/test/Instrumentation/ThreadSanitizer/atomic.ll
@@ -4,7 +4,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
define i8 @atomic8_load_unordered(i8* %a) nounwind uwtable {
entry:
- %0 = load atomic i8* %a unordered, align 1
+ %0 = load atomic i8, i8* %a unordered, align 1
ret i8 %0
}
; CHECK: atomic8_load_unordered
@@ -12,7 +12,7 @@ entry:
define i8 @atomic8_load_monotonic(i8* %a) nounwind uwtable {
entry:
- %0 = load atomic i8* %a monotonic, align 1
+ %0 = load atomic i8, i8* %a monotonic, align 1
ret i8 %0
}
; CHECK: atomic8_load_monotonic
@@ -20,7 +20,7 @@ entry:
define i8 @atomic8_load_acquire(i8* %a) nounwind uwtable {
entry:
- %0 = load atomic i8* %a acquire, align 1
+ %0 = load atomic i8, i8* %a acquire, align 1
ret i8 %0
}
; CHECK: atomic8_load_acquire
@@ -28,7 +28,7 @@ entry:
define i8 @atomic8_load_seq_cst(i8* %a) nounwind uwtable {
entry:
- %0 = load atomic i8* %a seq_cst, align 1
+ %0 = load atomic i8, i8* %a seq_cst, align 1
ret i8 %0
}
; CHECK: atomic8_load_seq_cst
@@ -388,7 +388,7 @@ entry:
define i16 @atomic16_load_unordered(i16* %a) nounwind uwtable {
entry:
- %0 = load atomic i16* %a unordered, align 2
+ %0 = load atomic i16, i16* %a unordered, align 2
ret i16 %0
}
; CHECK: atomic16_load_unordered
@@ -396,7 +396,7 @@ entry:
define i16 @atomic16_load_monotonic(i16* %a) nounwind uwtable {
entry:
- %0 = load atomic i16* %a monotonic, align 2
+ %0 = load atomic i16, i16* %a monotonic, align 2
ret i16 %0
}
; CHECK: atomic16_load_monotonic
@@ -404,7 +404,7 @@ entry:
define i16 @atomic16_load_acquire(i16* %a) nounwind uwtable {
entry:
- %0 = load atomic i16* %a acquire, align 2
+ %0 = load atomic i16, i16* %a acquire, align 2
ret i16 %0
}
; CHECK: atomic16_load_acquire
@@ -412,7 +412,7 @@ entry:
define i16 @atomic16_load_seq_cst(i16* %a) nounwind uwtable {
entry:
- %0 = load atomic i16* %a seq_cst, align 2
+ %0 = load atomic i16, i16* %a seq_cst, align 2
ret i16 %0
}
; CHECK: atomic16_load_seq_cst
@@ -772,7 +772,7 @@ entry:
define i32 @atomic32_load_unordered(i32* %a) nounwind uwtable {
entry:
- %0 = load atomic i32* %a unordered, align 4
+ %0 = load atomic i32, i32* %a unordered, align 4
ret i32 %0
}
; CHECK: atomic32_load_unordered
@@ -780,7 +780,7 @@ entry:
define i32 @atomic32_load_monotonic(i32* %a) nounwind uwtable {
entry:
- %0 = load atomic i32* %a monotonic, align 4
+ %0 = load atomic i32, i32* %a monotonic, align 4
ret i32 %0
}
; CHECK: atomic32_load_monotonic
@@ -788,7 +788,7 @@ entry:
define i32 @atomic32_load_acquire(i32* %a) nounwind uwtable {
entry:
- %0 = load atomic i32* %a acquire, align 4
+ %0 = load atomic i32, i32* %a acquire, align 4
ret i32 %0
}
; CHECK: atomic32_load_acquire
@@ -796,7 +796,7 @@ entry:
define i32 @atomic32_load_seq_cst(i32* %a) nounwind uwtable {
entry:
- %0 = load atomic i32* %a seq_cst, align 4
+ %0 = load atomic i32, i32* %a seq_cst, align 4
ret i32 %0
}
; CHECK: atomic32_load_seq_cst
@@ -1156,7 +1156,7 @@ entry:
define i64 @atomic64_load_unordered(i64* %a) nounwind uwtable {
entry:
- %0 = load atomic i64* %a unordered, align 8
+ %0 = load atomic i64, i64* %a unordered, align 8
ret i64 %0
}
; CHECK: atomic64_load_unordered
@@ -1164,7 +1164,7 @@ entry:
define i64 @atomic64_load_monotonic(i64* %a) nounwind uwtable {
entry:
- %0 = load atomic i64* %a monotonic, align 8
+ %0 = load atomic i64, i64* %a monotonic, align 8
ret i64 %0
}
; CHECK: atomic64_load_monotonic
@@ -1172,7 +1172,7 @@ entry:
define i64 @atomic64_load_acquire(i64* %a) nounwind uwtable {
entry:
- %0 = load atomic i64* %a acquire, align 8
+ %0 = load atomic i64, i64* %a acquire, align 8
ret i64 %0
}
; CHECK: atomic64_load_acquire
@@ -1180,7 +1180,7 @@ entry:
define i64 @atomic64_load_seq_cst(i64* %a) nounwind uwtable {
entry:
- %0 = load atomic i64* %a seq_cst, align 8
+ %0 = load atomic i64, i64* %a seq_cst, align 8
ret i64 %0
}
; CHECK: atomic64_load_seq_cst
@@ -1540,7 +1540,7 @@ entry:
define i128 @atomic128_load_unordered(i128* %a) nounwind uwtable {
entry:
- %0 = load atomic i128* %a unordered, align 16
+ %0 = load atomic i128, i128* %a unordered, align 16
ret i128 %0
}
; CHECK: atomic128_load_unordered
@@ -1548,7 +1548,7 @@ entry:
define i128 @atomic128_load_monotonic(i128* %a) nounwind uwtable {
entry:
- %0 = load atomic i128* %a monotonic, align 16
+ %0 = load atomic i128, i128* %a monotonic, align 16
ret i128 %0
}
; CHECK: atomic128_load_monotonic
@@ -1556,7 +1556,7 @@ entry:
define i128 @atomic128_load_acquire(i128* %a) nounwind uwtable {
entry:
- %0 = load atomic i128* %a acquire, align 16
+ %0 = load atomic i128, i128* %a acquire, align 16
ret i128 %0
}
; CHECK: atomic128_load_acquire
@@ -1564,7 +1564,7 @@ entry:
define i128 @atomic128_load_seq_cst(i128* %a) nounwind uwtable {
entry:
- %0 = load atomic i128* %a seq_cst, align 16
+ %0 = load atomic i128, i128* %a seq_cst, align 16
ret i128 %0
}
; CHECK: atomic128_load_seq_cst
diff --git a/test/Instrumentation/ThreadSanitizer/capture.ll b/test/Instrumentation/ThreadSanitizer/capture.ll
index d6c62f0..038b8c0 100644
--- a/test/Instrumentation/ThreadSanitizer/capture.ll
+++ b/test/Instrumentation/ThreadSanitizer/capture.ll
@@ -37,7 +37,7 @@ entry:
%tmp = alloca i32*, align 8
; transitive escape
store i32* %ptr, i32** %tmp, align 8
- %0 = load i32** %tmp, align 8
+ %0 = load i32*, i32** %tmp, align 8
store i32* %0, i32** @sink, align 8
store i32 42, i32* %ptr, align 4
ret void
@@ -79,7 +79,7 @@ entry:
store i32 42, i32* %ptr, align 4
; transitive escape
store i32* %ptr, i32** %tmp, align 8
- %0 = load i32** %tmp, align 8
+ %0 = load i32*, i32** %tmp, align 8
store i32* %0, i32** @sink, align 8
ret void
}
diff --git a/test/Instrumentation/ThreadSanitizer/no_sanitize_thread.ll b/test/Instrumentation/ThreadSanitizer/no_sanitize_thread.ll
index 3949fd5..a90a560 100644
--- a/test/Instrumentation/ThreadSanitizer/no_sanitize_thread.ll
+++ b/test/Instrumentation/ThreadSanitizer/no_sanitize_thread.ll
@@ -6,20 +6,20 @@ target triple = "x86_64-unknown-linux-gnu"
; no sanitize_thread attribute here
define i32 @read_4_bytes(i32* %a) {
entry:
- %tmp1 = load i32* %a, align 4
+ %tmp1 = load i32, i32* %a, align 4
ret i32 %tmp1
}
; CHECK: define i32 @read_4_bytes(i32* %a) {
; CHECK-NEXT: entry:
-; CHECK-NEXT: %tmp1 = load i32* %a, align 4
+; CHECK-NEXT: %tmp1 = load i32, i32* %a, align 4
; CHECK: ret i32 %tmp1
; no sanitize_thread attribute here
define i32 @read_4_bytes_and_call(i32* %a) {
entry:
call void @foo()
- %tmp1 = load i32* %a, align 4
+ %tmp1 = load i32, i32* %a, align 4
ret i32 %tmp1
}
@@ -28,7 +28,7 @@ entry:
; CHECK-NEXT: %0 = call i8* @llvm.returnaddress(i32 0)
; CHECK-NEXT: call void @__tsan_func_entry(i8* %0)
; CHECK-NEXT: call void @foo()
-; CHECK-NEXT: %tmp1 = load i32* %a, align 4
+; CHECK-NEXT: %tmp1 = load i32, i32* %a, align 4
; CHECK-NEXT: call void @__tsan_func_exit()
; CHECK-NEXT: ret i32 %tmp1
diff --git a/test/Instrumentation/ThreadSanitizer/read_before_write.ll b/test/Instrumentation/ThreadSanitizer/read_before_write.ll
index cb6603b..c15ab13 100644
--- a/test/Instrumentation/ThreadSanitizer/read_before_write.ll
+++ b/test/Instrumentation/ThreadSanitizer/read_before_write.ll
@@ -4,7 +4,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
define void @IncrementMe(i32* nocapture %ptr) nounwind uwtable sanitize_thread {
entry:
- %0 = load i32* %ptr, align 4
+ %0 = load i32, i32* %ptr, align 4
%inc = add nsw i32 %0, 1
store i32 %inc, i32* %ptr, align 4
ret void
@@ -16,7 +16,7 @@ entry:
define void @IncrementMeWithCallInBetween(i32* nocapture %ptr) nounwind uwtable sanitize_thread {
entry:
- %0 = load i32* %ptr, align 4
+ %0 = load i32, i32* %ptr, align 4
%inc = add nsw i32 %0, 1
call void @foo()
store i32 %inc, i32* %ptr, align 4
diff --git a/test/Instrumentation/ThreadSanitizer/read_from_global.ll b/test/Instrumentation/ThreadSanitizer/read_from_global.ll
index 037dd56..76ee50c 100644
--- a/test/Instrumentation/ThreadSanitizer/read_from_global.ll
+++ b/test/Instrumentation/ThreadSanitizer/read_from_global.ll
@@ -6,7 +6,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
@const_global = external constant i32
define i32 @read_from_const_global() nounwind uwtable sanitize_thread readnone {
entry:
- %0 = load i32* @const_global, align 4
+ %0 = load i32, i32* @const_global, align 4
ret i32 %0
}
; CHECK: define i32 @read_from_const_global
@@ -16,7 +16,7 @@ entry:
@non_const_global = global i32 0, align 4
define i32 @read_from_non_const_global() nounwind uwtable sanitize_thread readonly {
entry:
- %0 = load i32* @non_const_global, align 4
+ %0 = load i32, i32* @non_const_global, align 4
ret i32 %0
}
@@ -28,8 +28,8 @@ entry:
define i32 @read_from_const_global_array(i32 %idx) nounwind uwtable sanitize_thread readnone {
entry:
%idxprom = sext i32 %idx to i64
- %arrayidx = getelementptr inbounds [10 x i32]* @const_global_array, i64 0, i64 %idxprom
- %0 = load i32* %arrayidx, align 4
+ %arrayidx = getelementptr inbounds [10 x i32], [10 x i32]* @const_global_array, i64 0, i64 %idxprom
+ %0 = load i32, i32* %arrayidx, align 4
ret i32 %0
}
@@ -41,8 +41,8 @@ entry:
define void @call_virtual_func(%struct.Foo* %f) uwtable sanitize_thread {
entry:
%0 = bitcast %struct.Foo* %f to void (%struct.Foo*)***
- %vtable = load void (%struct.Foo*)*** %0, align 8, !tbaa !2
- %1 = load void (%struct.Foo*)** %vtable, align 8
+ %vtable = load void (%struct.Foo*)**, void (%struct.Foo*)*** %0, align 8, !tbaa !2
+ %1 = load void (%struct.Foo*)*, void (%struct.Foo*)** %vtable, align 8
call void %1(%struct.Foo* %f)
ret void
}
diff --git a/test/Instrumentation/ThreadSanitizer/tsan-vs-gvn.ll b/test/Instrumentation/ThreadSanitizer/tsan-vs-gvn.ll
index a83a274..df7608d 100644
--- a/test/Instrumentation/ThreadSanitizer/tsan-vs-gvn.ll
+++ b/test/Instrumentation/ThreadSanitizer/tsan-vs-gvn.ll
@@ -12,9 +12,9 @@ target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f3
define i32 @test_widening_bad(i8* %P) nounwind ssp noredzone sanitize_thread {
entry:
- %tmp = load i8* getelementptr inbounds (%struct_of_8_bytes_4_aligned* @f, i64 0, i32 1), align 4
+ %tmp = load i8, i8* getelementptr inbounds (%struct_of_8_bytes_4_aligned, %struct_of_8_bytes_4_aligned* @f, i64 0, i32 1), align 4
%conv = zext i8 %tmp to i32
- %tmp1 = load i8* getelementptr inbounds (%struct_of_8_bytes_4_aligned* @f, i64 0, i32 3), align 1
+ %tmp1 = load i8, i8* getelementptr inbounds (%struct_of_8_bytes_4_aligned, %struct_of_8_bytes_4_aligned* @f, i64 0, i32 3), align 1
%conv2 = zext i8 %tmp1 to i32
%add = add nsw i32 %conv, %conv2
ret i32 %add
diff --git a/test/Instrumentation/ThreadSanitizer/tsan_basic.ll b/test/Instrumentation/ThreadSanitizer/tsan_basic.ll
index dc6e43e..22582eb 100644
--- a/test/Instrumentation/ThreadSanitizer/tsan_basic.ll
+++ b/test/Instrumentation/ThreadSanitizer/tsan_basic.ll
@@ -5,7 +5,7 @@ target triple = "x86_64-unknown-linux-gnu"
define i32 @read_4_bytes(i32* %a) sanitize_thread {
entry:
- %tmp1 = load i32* %a, align 4
+ %tmp1 = load i32, i32* %a, align 4
ret i32 %tmp1
}
@@ -15,7 +15,7 @@ entry:
; CHECK: call void @__tsan_func_entry(i8* %0)
; CHECK-NEXT: %1 = bitcast i32* %a to i8*
; CHECK-NEXT: call void @__tsan_read4(i8* %1)
-; CHECK-NEXT: %tmp1 = load i32* %a, align 4
+; CHECK-NEXT: %tmp1 = load i32, i32* %a, align 4
; CHECK-NEXT: call void @__tsan_func_exit()
; CHECK: ret i32
diff --git a/test/Instrumentation/ThreadSanitizer/unaligned.ll b/test/Instrumentation/ThreadSanitizer/unaligned.ll
index 7a240e3..89461b4 100644
--- a/test/Instrumentation/ThreadSanitizer/unaligned.ll
+++ b/test/Instrumentation/ThreadSanitizer/unaligned.ll
@@ -4,7 +4,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
define i16 @test_unaligned_read2(i16* %a) sanitize_thread {
entry:
- %tmp1 = load i16* %a, align 1
+ %tmp1 = load i16, i16* %a, align 1
ret i16 %tmp1
}
@@ -12,13 +12,13 @@ entry:
; CHECK: call void @__tsan_func_entry(i8* %0)
; CHECK-NEXT: %1 = bitcast i16* %a to i8*
; CHECK-NEXT: call void @__tsan_unaligned_read2(i8* %1)
-; CHECK-NEXT: %tmp1 = load i16* %a, align 1
+; CHECK-NEXT: %tmp1 = load i16, i16* %a, align 1
; CHECK-NEXT: call void @__tsan_func_exit()
; CHECK: ret i16
define i32 @test_unaligned_read4(i32* %a) sanitize_thread {
entry:
- %tmp1 = load i32* %a, align 2
+ %tmp1 = load i32, i32* %a, align 2
ret i32 %tmp1
}
@@ -26,13 +26,13 @@ entry:
; CHECK: call void @__tsan_func_entry(i8* %0)
; CHECK-NEXT: %1 = bitcast i32* %a to i8*
; CHECK-NEXT: call void @__tsan_unaligned_read4(i8* %1)
-; CHECK-NEXT: %tmp1 = load i32* %a, align 2
+; CHECK-NEXT: %tmp1 = load i32, i32* %a, align 2
; CHECK-NEXT: call void @__tsan_func_exit()
; CHECK: ret i32
define i64 @test_unaligned_read8(i64* %a) sanitize_thread {
entry:
- %tmp1 = load i64* %a, align 4
+ %tmp1 = load i64, i64* %a, align 4
ret i64 %tmp1
}
@@ -40,13 +40,13 @@ entry:
; CHECK: call void @__tsan_func_entry(i8* %0)
; CHECK-NEXT: %1 = bitcast i64* %a to i8*
; CHECK-NEXT: call void @__tsan_unaligned_read8(i8* %1)
-; CHECK-NEXT: %tmp1 = load i64* %a, align 4
+; CHECK-NEXT: %tmp1 = load i64, i64* %a, align 4
; CHECK-NEXT: call void @__tsan_func_exit()
; CHECK: ret i64
define i128 @test_unaligned_read16(i128* %a) sanitize_thread {
entry:
- %tmp1 = load i128* %a, align 1
+ %tmp1 = load i128, i128* %a, align 1
ret i128 %tmp1
}
@@ -54,13 +54,13 @@ entry:
; CHECK: call void @__tsan_func_entry(i8* %0)
; CHECK-NEXT: %1 = bitcast i128* %a to i8*
; CHECK-NEXT: call void @__tsan_unaligned_read16(i8* %1)
-; CHECK-NEXT: %tmp1 = load i128* %a, align 1
+; CHECK-NEXT: %tmp1 = load i128, i128* %a, align 1
; CHECK-NEXT: call void @__tsan_func_exit()
; CHECK: ret i128
define i128 @test_aligned_read16(i128* %a) sanitize_thread {
entry:
- %tmp1 = load i128* %a, align 8
+ %tmp1 = load i128, i128* %a, align 8
ret i128 %tmp1
}
@@ -68,7 +68,7 @@ entry:
; CHECK: call void @__tsan_func_entry(i8* %0)
; CHECK-NEXT: %1 = bitcast i128* %a to i8*
; CHECK-NEXT: call void @__tsan_read16(i8* %1)
-; CHECK-NEXT: %tmp1 = load i128* %a, align 8
+; CHECK-NEXT: %tmp1 = load i128, i128* %a, align 8
; CHECK-NEXT: call void @__tsan_func_exit()
; CHECK: ret i128
diff --git a/test/Instrumentation/ThreadSanitizer/vptr_read.ll b/test/Instrumentation/ThreadSanitizer/vptr_read.ll
index cccdeb8..6ed64c6 100644
--- a/test/Instrumentation/ThreadSanitizer/vptr_read.ll
+++ b/test/Instrumentation/ThreadSanitizer/vptr_read.ll
@@ -5,7 +5,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
define i8 @Foo(i8* %a) nounwind uwtable sanitize_thread {
entry:
; CHECK: call void @__tsan_vptr_read
- %0 = load i8* %a, align 8, !tbaa !0
+ %0 = load i8, i8* %a, align 8, !tbaa !0
ret i8 %0
}
!0 = !{!2, !2, i64 0}