Skip to content

Commit f12cbff

Browse files
committed
Update remaining tests
1 parent 261585e commit f12cbff

File tree

9 files changed

+339
-380
lines changed

9 files changed

+339
-380
lines changed

llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-tbl.ll

Lines changed: 80 additions & 80 deletions
Large diffs are not rendered by default.

llvm/test/Instrumentation/MemorySanitizer/AArch64/vararg.ll

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -61,17 +61,17 @@ define i32 @bar() {
6161
; array. General purpose registers are saved at positions from 0 to 64, Floating
6262
; point and SIMD are saved from 64 to 192, and the remaining from 192.
6363
; CHECK-LABEL: @bar
64-
; CHECK: store {{.*}} @__msan_va_arg_tls {{.*}} 8
65-
; CHECK: store {{.*}} @__msan_va_arg_tls {{.*}} 16
66-
; CHECK: store {{.*}} @__msan_va_arg_tls {{.*}} 64
67-
; CHECK: store {{.*}} @__msan_va_arg_tls {{.*}} 80
68-
; CHECK: store {{.*}} @__msan_va_arg_tls {{.*}} 24
69-
; CHECK: store {{.*}} @__msan_va_arg_tls {{.*}} 32
70-
; CHECK: store {{.*}} @__msan_va_arg_tls {{.*}} 96
71-
; CHECK: store {{.*}} @__msan_va_arg_tls {{.*}} 40
72-
; CHECK: store {{.*}} @__msan_va_arg_tls {{.*}} 48
73-
; CHECK: store {{.*}} @__msan_va_arg_tls {{.*}} 56
74-
; CHECK: store {{.*}} @__msan_va_arg_tls {{.*}} 192
64+
; CHECK: store {{.*}} @__msan_va_arg_tls, i64 8
65+
; CHECK: store {{.*}} @__msan_va_arg_tls, i64 16
66+
; CHECK: store {{.*}} @__msan_va_arg_tls, i64 64
67+
; CHECK: store {{.*}} @__msan_va_arg_tls, i64 80
68+
; CHECK: store {{.*}} @__msan_va_arg_tls, i64 24
69+
; CHECK: store {{.*}} @__msan_va_arg_tls, i64 32
70+
; CHECK: store {{.*}} @__msan_va_arg_tls, i64 96
71+
; CHECK: store {{.*}} @__msan_va_arg_tls, i64 40
72+
; CHECK: store {{.*}} @__msan_va_arg_tls, i64 48
73+
; CHECK: store {{.*}} @__msan_va_arg_tls, i64 56
74+
; CHECK: store {{.*}} @__msan_va_arg_tls, i64 192
7575
; CHECK: store {{.*}} 8, {{.*}} @__msan_va_arg_overflow_size_tls
7676

7777
; Test that MSan doesn't generate code overflowing __msan_va_arg_tls when too many arguments are
@@ -97,6 +97,6 @@ entry:
9797
}
9898

9999
; If the size of __msan_va_arg_tls changes the second argument of `add` must also be changed.
100-
; CHECK: i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 792)
101-
; CHECK-NOT: i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 800)
100+
; CHECK: getelementptr (i8, ptr @__msan_va_arg_tls, i64 792)
101+
; CHECK-NOT: getelementptr (i8, ptr @__msan_va_arg_tls, i64 800)
102102
declare i64 @sum(i64 %n, ...)

llvm/test/Instrumentation/MemorySanitizer/LoongArch/vararg-loongarch64.ll

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,12 @@ define i32 @bar() {
5656
; CHECK-NEXT: [[TMP1:%.*]] = load i64, ptr @__msan_va_arg_overflow_size_tls, align 8
5757
; CHECK-NEXT: call void @llvm.donothing()
5858
; CHECK-NEXT: store i32 0, ptr @__msan_param_tls, align 8
59-
; CHECK-NEXT: store i32 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 8) to ptr), align 8
60-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 16) to ptr), align 8
61-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 24) to ptr), align 8
59+
; CHECK-NEXT: store i32 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 8), align 8
60+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 16), align 8
61+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 24), align 8
6262
; CHECK-NEXT: store i32 0, ptr @__msan_va_arg_tls, align 8
63-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 8) to ptr), align 8
64-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 16) to ptr), align 8
63+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_va_arg_tls, i64 8), align 8
64+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_va_arg_tls, i64 16), align 8
6565
; CHECK-NEXT: store i64 24, ptr @__msan_va_arg_overflow_size_tls, align 8
6666
; CHECK-NEXT: store i32 0, ptr @__msan_retval_tls, align 8
6767
; CHECK-NEXT: [[TMP2:%.*]] = call i32 (i32, ...) @foo(i32 0, i32 1, i64 2, double 3.000000e+00)
@@ -80,11 +80,11 @@ define i32 @bar2() {
8080
; CHECK-NEXT: [[TMP1:%.*]] = load i64, ptr @__msan_va_arg_overflow_size_tls, align 8
8181
; CHECK-NEXT: call void @llvm.donothing()
8282
; CHECK-NEXT: store i32 0, ptr @__msan_param_tls, align 8
83-
; CHECK-NEXT: store i32 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 8) to ptr), align 8
84-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 16) to ptr), align 8
85-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 24) to ptr), align 8
83+
; CHECK-NEXT: store i32 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 8), align 8
84+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 16), align 8
85+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 24), align 8
8686
; CHECK-NEXT: store i64 0, ptr @__msan_va_arg_tls, align 8
87-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 8) to ptr), align 8
87+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_va_arg_tls, i64 8), align 8
8888
; CHECK-NEXT: store i64 16, ptr @__msan_va_arg_overflow_size_tls, align 8
8989
; CHECK-NEXT: store i32 0, ptr @__msan_retval_tls, align 8
9090
; CHECK-NEXT: [[TMP2:%.*]] = call i32 (i32, i32, ...) @foo2(i32 0, i32 1, i64 2, double 3.000000e+00)
@@ -104,8 +104,8 @@ declare i64 @sum(i64 %n, ...)
104104
define dso_local i64 @many_args() {
105105
;; If the size of __msan_va_arg_tls changes the second argument of `add` must also be changed.
106106
; CHECK-LABEL: @many_args
107-
; CHECK: i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 792)
108-
; CHECK-NOT: i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 800)
107+
; CHECK: getelementptr (i8, ptr @__msan_va_arg_tls, i64 792)
108+
; CHECK-NOT: getelementptr (i8, ptr @__msan_va_arg_tls, i64 800)
109109
;
110110
entry:
111111
%ret = call i64 (i64, ...) @sum(i64 120,

llvm/test/Instrumentation/MemorySanitizer/Mips/vararg-mips64.ll

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,12 @@ define i32 @bar() {
5454
; CHECK-NEXT: [[TMP1:%.*]] = load i64, ptr @__msan_va_arg_overflow_size_tls, align 8
5555
; CHECK-NEXT: call void @llvm.donothing()
5656
; CHECK-NEXT: store i32 0, ptr @__msan_param_tls, align 8
57-
; CHECK-NEXT: store i32 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 8) to ptr), align 8
58-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 16) to ptr), align 8
59-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 24) to ptr), align 8
60-
; CHECK-NEXT: store i32 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 4) to ptr), align 8
61-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 8) to ptr), align 8
62-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 16) to ptr), align 8
57+
; CHECK-NEXT: store i32 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 8), align 8
58+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 16), align 8
59+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 24), align 8
60+
; CHECK-NEXT: store i32 0, ptr getelementptr (i8, ptr @__msan_va_arg_tls, i64 4), align 8
61+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_va_arg_tls, i64 8), align 8
62+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_va_arg_tls, i64 16), align 8
6363
; CHECK-NEXT: store i64 24, ptr @__msan_va_arg_overflow_size_tls, align 8
6464
; CHECK-NEXT: store i32 0, ptr @__msan_retval_tls, align 8
6565
; CHECK-NEXT: [[TMP2:%.*]] = call i32 (i32, ...) @foo(i32 0, i32 1, i64 2, double 3.000000e+00)
@@ -82,11 +82,11 @@ define i32 @bar2() {
8282
; CHECK-NEXT: [[TMP1:%.*]] = load i64, ptr @__msan_va_arg_overflow_size_tls, align 8
8383
; CHECK-NEXT: call void @llvm.donothing()
8484
; CHECK-NEXT: store i32 0, ptr @__msan_param_tls, align 8
85-
; CHECK-NEXT: store i32 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 8) to ptr), align 8
86-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 16) to ptr), align 8
87-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 24) to ptr), align 8
85+
; CHECK-NEXT: store i32 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 8), align 8
86+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 16), align 8
87+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 24), align 8
8888
; CHECK-NEXT: store i64 0, ptr @__msan_va_arg_tls, align 8
89-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 8) to ptr), align 8
89+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_va_arg_tls, i64 8), align 8
9090
; CHECK-NEXT: store i64 16, ptr @__msan_va_arg_overflow_size_tls, align 8
9191
; CHECK-NEXT: store i32 0, ptr @__msan_retval_tls, align 8
9292
; CHECK-NEXT: [[TMP2:%.*]] = call i32 (i32, i32, ...) @foo2(i32 0, i32 1, i64 2, double 3.000000e+00)
@@ -124,8 +124,8 @@ entry:
124124

125125
; If the size of __msan_va_arg_tls changes the second argument of `add` must also be changed.
126126
; CHECK-LABEL: @many_args
127-
; CHECK: i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 792)
128-
; CHECK-NOT: i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 800)
127+
; CHECK: getelementptr (i8, ptr @__msan_va_arg_tls, i64 792)
128+
; CHECK-NOT: getelementptr (i8, ptr @__msan_va_arg_tls, i64 800)
129129
declare i64 @sum(i64 %n, ...)
130130

131131
; CHECK: declare void @__msan_maybe_warning_1(i8 signext, i32 signext)

llvm/test/Instrumentation/MemorySanitizer/Mips/vararg-mips64el.ll

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,12 @@ define i32 @bar() {
5454
; CHECK-NEXT: [[TMP1:%.*]] = load i64, ptr @__msan_va_arg_overflow_size_tls, align 8
5555
; CHECK-NEXT: call void @llvm.donothing()
5656
; CHECK-NEXT: store i32 0, ptr @__msan_param_tls, align 8
57-
; CHECK-NEXT: store i32 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 8) to ptr), align 8
58-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 16) to ptr), align 8
59-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 24) to ptr), align 8
57+
; CHECK-NEXT: store i32 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 8), align 8
58+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 16), align 8
59+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 24), align 8
6060
; CHECK-NEXT: store i32 0, ptr @__msan_va_arg_tls, align 8
61-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 8) to ptr), align 8
62-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 16) to ptr), align 8
61+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_va_arg_tls, i64 8), align 8
62+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_va_arg_tls, i64 16), align 8
6363
; CHECK-NEXT: store i64 24, ptr @__msan_va_arg_overflow_size_tls, align 8
6464
; CHECK-NEXT: store i32 0, ptr @__msan_retval_tls, align 8
6565
; CHECK-NEXT: [[TMP2:%.*]] = call i32 (i32, ...) @foo(i32 0, i32 1, i64 2, double 3.000000e+00)
@@ -81,11 +81,11 @@ define i32 @bar2() {
8181
; CHECK-NEXT: [[TMP1:%.*]] = load i64, ptr @__msan_va_arg_overflow_size_tls, align 8
8282
; CHECK-NEXT: call void @llvm.donothing()
8383
; CHECK-NEXT: store i32 0, ptr @__msan_param_tls, align 8
84-
; CHECK-NEXT: store i32 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 8) to ptr), align 8
85-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 16) to ptr), align 8
86-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 24) to ptr), align 8
84+
; CHECK-NEXT: store i32 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 8), align 8
85+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 16), align 8
86+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 24), align 8
8787
; CHECK-NEXT: store i64 0, ptr @__msan_va_arg_tls, align 8
88-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 8) to ptr), align 8
88+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_va_arg_tls, i64 8), align 8
8989
; CHECK-NEXT: store i64 16, ptr @__msan_va_arg_overflow_size_tls, align 8
9090
; CHECK-NEXT: store i32 0, ptr @__msan_retval_tls, align 8
9191
; CHECK-NEXT: [[TMP2:%.*]] = call i32 (i32, i32, ...) @foo2(i32 0, i32 1, i64 2, double 3.000000e+00)
@@ -122,6 +122,6 @@ entry:
122122

123123
; If the size of __msan_va_arg_tls changes the second argument of `add` must also be changed.
124124
; CHECK-LABEL: @many_args
125-
; CHECK: i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 792)
126-
; CHECK-NOT: i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 800)
125+
; CHECK: getelementptr (i8, ptr @__msan_va_arg_tls, i64 792)
126+
; CHECK-NOT: getelementptr (i8, ptr @__msan_va_arg_tls, i64 800)
127127
declare i64 @sum(i64 %n, ...)

llvm/test/Instrumentation/MemorySanitizer/PowerPC/vararg-ppc64.ll

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,12 @@ define i32 @bar() {
6060
; CHECK-NEXT: [[TMP1:%.*]] = load i64, ptr @__msan_va_arg_overflow_size_tls, align 8
6161
; CHECK-NEXT: call void @llvm.donothing()
6262
; CHECK-NEXT: store i32 0, ptr @__msan_param_tls, align 8
63-
; CHECK-NEXT: store i32 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 8) to ptr), align 8
64-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 16) to ptr), align 8
65-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 24) to ptr), align 8
66-
; CHECK-NEXT: store i32 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 4) to ptr), align 8
67-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 8) to ptr), align 8
68-
; CHECK-NEXT: store i64 0, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 16) to ptr), align 8
63+
; CHECK-NEXT: store i32 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 8), align 8
64+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 16), align 8
65+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_param_tls, i64 24), align 8
66+
; CHECK-NEXT: store i32 0, ptr getelementptr (i8, ptr @__msan_va_arg_tls, i64 4), align 8
67+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_va_arg_tls, i64 8), align 8
68+
; CHECK-NEXT: store i64 0, ptr getelementptr (i8, ptr @__msan_va_arg_tls, i64 16), align 8
6969
; CHECK-NEXT: store i64 24, ptr @__msan_va_arg_overflow_size_tls, align 8
7070
; CHECK-NEXT: store i32 0, ptr @__msan_retval_tls, align 8
7171
; CHECK-NEXT: [[TMP2:%.*]] = call i32 (i32, ...) @foo(i32 0, i32 1, i64 2, double 3.000000e+00)
@@ -87,8 +87,8 @@ define i32 @bar2() {
8787
; CHECK-NEXT: [[TMP1:%.*]] = load i64, ptr @__msan_va_arg_overflow_size_tls, align 8
8888
; CHECK-NEXT: call void @llvm.donothing()
8989
; CHECK-NEXT: store i32 0, ptr @__msan_param_tls, align 8
90-
; CHECK-NEXT: store <2 x i64> zeroinitializer, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 8) to ptr), align 8
91-
; CHECK-NEXT: store <2 x i64> zeroinitializer, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 8) to ptr), align 8
90+
; CHECK-NEXT: store <2 x i64> zeroinitializer, ptr getelementptr (i8, ptr @__msan_param_tls, i64 8), align 8
91+
; CHECK-NEXT: store <2 x i64> zeroinitializer, ptr getelementptr (i8, ptr @__msan_va_arg_tls, i64 8), align 8
9292
; CHECK-NEXT: store i64 24, ptr @__msan_va_arg_overflow_size_tls, align 8
9393
; CHECK-NEXT: store i32 0, ptr @__msan_retval_tls, align 8
9494
; CHECK-NEXT: [[TMP2:%.*]] = call i32 (i32, ...) @foo(i32 0, <2 x i64> <i64 1, i64 2>)
@@ -110,7 +110,7 @@ define i32 @bar4() {
110110
; CHECK-NEXT: [[TMP1:%.*]] = load i64, ptr @__msan_va_arg_overflow_size_tls, align 8
111111
; CHECK-NEXT: call void @llvm.donothing()
112112
; CHECK-NEXT: store i32 0, ptr @__msan_param_tls, align 8
113-
; CHECK-NEXT: store [2 x i64] zeroinitializer, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 8) to ptr), align 8
113+
; CHECK-NEXT: store [2 x i64] zeroinitializer, ptr getelementptr (i8, ptr @__msan_param_tls, i64 8), align 8
114114
; CHECK-NEXT: store [2 x i64] zeroinitializer, ptr @__msan_va_arg_tls, align 8
115115
; CHECK-NEXT: store i64 16, ptr @__msan_va_arg_overflow_size_tls, align 8
116116
; CHECK-NEXT: store i32 0, ptr @__msan_retval_tls, align 8
@@ -130,8 +130,8 @@ define i32 @bar5() {
130130
; CHECK-NEXT: [[TMP1:%.*]] = load i64, ptr @__msan_va_arg_overflow_size_tls, align 8
131131
; CHECK-NEXT: call void @llvm.donothing()
132132
; CHECK-NEXT: store i32 0, ptr @__msan_param_tls, align 8
133-
; CHECK-NEXT: store [2 x i128] zeroinitializer, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 8) to ptr), align 8
134-
; CHECK-NEXT: store [2 x i128] zeroinitializer, ptr inttoptr (i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 8) to ptr), align 8
133+
; CHECK-NEXT: store [2 x i128] zeroinitializer, ptr getelementptr (i8, ptr @__msan_param_tls, i64 8), align 8
134+
; CHECK-NEXT: store [2 x i128] zeroinitializer, ptr getelementptr (i8, ptr @__msan_va_arg_tls, i64 8), align 8
135135
; CHECK-NEXT: store i64 40, ptr @__msan_va_arg_overflow_size_tls, align 8
136136
; CHECK-NEXT: store i32 0, ptr @__msan_retval_tls, align 8
137137
; CHECK-NEXT: [[TMP2:%.*]] = call i32 (i32, ...) @foo(i32 0, [2 x i128] [i128 1, i128 2])
@@ -156,7 +156,7 @@ define i32 @bar6(ptr %arg) {
156156
; CHECK-NEXT: [[TMP4:%.*]] = xor i64 [[TMP3]], 17592186044416
157157
; CHECK-NEXT: [[TMP5:%.*]] = add i64 [[TMP4]], 8796093022208
158158
; CHECK-NEXT: [[TMP6:%.*]] = inttoptr i64 [[TMP5]] to ptr
159-
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 8 inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 8) to ptr), i8 0, i64 16, i1 false)
159+
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 8 getelementptr (i8, ptr @__msan_param_tls, i64 8), i8 0, i64 16, i1 false)
160160
; CHECK-NEXT: [[TMP7:%.*]] = ptrtoint ptr [[ARG]] to i64
161161
; CHECK-NEXT: [[TMP8:%.*]] = and i64 [[TMP7]], -246290604621825
162162
; CHECK-NEXT: [[TMP9:%.*]] = xor i64 [[TMP8]], 17592186044416
@@ -187,13 +187,13 @@ define i32 @bar7(ptr %arg) {
187187
; CHECK-NEXT: [[TMP4:%.*]] = xor i64 [[TMP3]], 17592186044416
188188
; CHECK-NEXT: [[TMP5:%.*]] = add i64 [[TMP4]], 8796093022208
189189
; CHECK-NEXT: [[TMP6:%.*]] = inttoptr i64 [[TMP5]] to ptr
190-
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 8 inttoptr (i64 add (i64 ptrtoint (ptr @__msan_param_tls to i64), i64 8) to ptr), i8 0, i64 32, i1 false)
190+
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 8 getelementptr (i8, ptr @__msan_param_tls, i64 8), i8 0, i64 32, i1 false)
191191
; CHECK-NEXT: [[TMP7:%.*]] = ptrtoint ptr [[ARG]] to i64
192192
; CHECK-NEXT: [[TMP8:%.*]] = and i64 [[TMP7]], -246290604621825
193193
; CHECK-NEXT: [[TMP9:%.*]] = xor i64 [[TMP8]], 17592186044416
194194
; CHECK-NEXT: [[TMP10:%.*]] = add i64 [[TMP9]], 8796093022208
195195
; CHECK-NEXT: [[TMP11:%.*]] = inttoptr i64 [[TMP10]] to ptr
196-
; CHECK-NEXT: call void @llvm.memcpy.p0.p0.i64(ptr align 8 inttoptr (i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 8) to ptr), ptr align 8 [[TMP11]], i64 32, i1 false)
196+
; CHECK-NEXT: call void @llvm.memcpy.p0.p0.i64(ptr align 8 getelementptr (i8, ptr @__msan_va_arg_tls, i64 8), ptr align 8 [[TMP11]], i64 32, i1 false)
197197
; CHECK-NEXT: store i64 40, ptr @__msan_va_arg_overflow_size_tls, align 8
198198
; CHECK-NEXT: store i32 0, ptr @__msan_retval_tls, align 8
199199
; CHECK-NEXT: [[TMP12:%.*]] = call i32 (i32, ...) @foo(i32 0, ptr byval([4 x i64]) align 16 [[ARG]])
@@ -231,6 +231,6 @@ entry:
231231

232232
; If the size of __msan_va_arg_tls changes the second argument of `add` must also be changed.
233233
; CHECK-LABEL: @many_args
234-
; CHECK: i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 792)
235-
; CHECK-NOT: i64 add (i64 ptrtoint (ptr @__msan_va_arg_tls to i64), i64 800)
234+
; CHECK: getelementptr (i8, ptr @__msan_va_arg_tls, i64 792)
235+
; CHECK-NOT: getelementptr (i8, ptr @__msan_va_arg_tls, i64 800)
236236
declare i64 @sum(i64 %n, ...)

0 commit comments

Comments
 (0)