Skip to content

Commit 3706070

Browse files
[llvm] Regenerate test checks including TBAA semantics (NFC)
Tests exercizing TBAA metadata (both purposefully and not), and previously generated via UTC, have been regenerated and updated to version 6.
1 parent 8eba28b commit 3706070

File tree

85 files changed

+6995
-6227
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+6995
-6227
lines changed

llvm/test/Analysis/TypeBasedAliasAnalysis/dse.ll

Lines changed: 29 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 2
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
22
; RUN: opt < %s -aa-pipeline=tbaa,basic-aa -passes=dse -S | FileCheck %s
33
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
44

55
; DSE should make use of TBAA.
66

77
define i8 @test0_yes(ptr %a, ptr %b) nounwind {
8-
; CHECK-LABEL: define i8 @test0_yes
9-
; CHECK-SAME: (ptr [[A:%.*]], ptr [[B:%.*]]) #[[ATTR0:[0-9]+]] {
10-
; CHECK-NEXT: [[Y:%.*]] = load i8, ptr [[B]], align 1, !tbaa [[TBAA0:![0-9]+]]
11-
; CHECK-NEXT: store i8 1, ptr [[A]], align 1, !tbaa [[TBAA3:![0-9]+]]
8+
; CHECK-LABEL: define i8 @test0_yes(
9+
; CHECK-SAME: ptr [[A:%.*]], ptr [[B:%.*]]) #[[ATTR0:[0-9]+]] {
10+
; CHECK-NEXT: [[Y:%.*]] = load i8, ptr [[B]], align 1, !tbaa [[BAR_TBAA0:![0-9]+]]
11+
; CHECK-NEXT: store i8 1, ptr [[A]], align 1, !tbaa [[FOO_TBAA3:![0-9]+]]
1212
; CHECK-NEXT: ret i8 [[Y]]
1313
;
1414
store i8 0, ptr %a, !tbaa !1
@@ -18,11 +18,11 @@ define i8 @test0_yes(ptr %a, ptr %b) nounwind {
1818
}
1919

2020
define i8 @test0_no(ptr %a, ptr %b) nounwind {
21-
; CHECK-LABEL: define i8 @test0_no
22-
; CHECK-SAME: (ptr [[A:%.*]], ptr [[B:%.*]]) #[[ATTR0]] {
23-
; CHECK-NEXT: store i8 0, ptr [[A]], align 1, !tbaa [[TBAA3]]
24-
; CHECK-NEXT: [[Y:%.*]] = load i8, ptr [[B]], align 1, !tbaa [[TBAA5:![0-9]+]]
25-
; CHECK-NEXT: store i8 1, ptr [[A]], align 1, !tbaa [[TBAA3]]
21+
; CHECK-LABEL: define i8 @test0_no(
22+
; CHECK-SAME: ptr [[A:%.*]], ptr [[B:%.*]]) #[[ATTR0]] {
23+
; CHECK-NEXT: store i8 0, ptr [[A]], align 1, !tbaa [[FOO_TBAA3]]
24+
; CHECK-NEXT: [[Y:%.*]] = load i8, ptr [[B]], align 1, !tbaa [[BAR_TBAA5:![0-9]+]]
25+
; CHECK-NEXT: store i8 1, ptr [[A]], align 1, !tbaa [[FOO_TBAA3]]
2626
; CHECK-NEXT: ret i8 [[Y]]
2727
;
2828
store i8 0, ptr %a, !tbaa !3
@@ -32,9 +32,9 @@ define i8 @test0_no(ptr %a, ptr %b) nounwind {
3232
}
3333

3434
define i8 @test1_yes(ptr %a, ptr %b) nounwind {
35-
; CHECK-LABEL: define i8 @test1_yes
36-
; CHECK-SAME: (ptr [[A:%.*]], ptr [[B:%.*]]) #[[ATTR0]] {
37-
; CHECK-NEXT: [[Y:%.*]] = load i8, ptr [[B]], align 1, !tbaa [[TBAA8:![0-9]+]]
35+
; CHECK-LABEL: define i8 @test1_yes(
36+
; CHECK-SAME: ptr [[A:%.*]], ptr [[B:%.*]]) #[[ATTR0]] {
37+
; CHECK-NEXT: [[Y:%.*]] = load i8, ptr [[B]], align 1, !tbaa [[QUX_TBAA8:![0-9]+]]
3838
; CHECK-NEXT: store i8 1, ptr [[A]], align 1
3939
; CHECK-NEXT: ret i8 [[Y]]
4040
;
@@ -45,10 +45,10 @@ define i8 @test1_yes(ptr %a, ptr %b) nounwind {
4545
}
4646

4747
define i8 @test1_no(ptr %a, ptr %b) nounwind {
48-
; CHECK-LABEL: define i8 @test1_no
49-
; CHECK-SAME: (ptr [[A:%.*]], ptr [[B:%.*]]) #[[ATTR0]] {
48+
; CHECK-LABEL: define i8 @test1_no(
49+
; CHECK-SAME: ptr [[A:%.*]], ptr [[B:%.*]]) #[[ATTR0]] {
5050
; CHECK-NEXT: store i8 0, ptr [[A]], align 1
51-
; CHECK-NEXT: [[Y:%.*]] = load i8, ptr [[B]], align 1, !tbaa [[TBAA10:![0-9]+]]
51+
; CHECK-NEXT: [[Y:%.*]] = load i8, ptr [[B]], align 1, !tbaa [[QUX_TBAA10:![0-9]+]]
5252
; CHECK-NEXT: store i8 1, ptr [[A]], align 1
5353
; CHECK-NEXT: ret i8 [[Y]]
5454
;
@@ -80,3 +80,16 @@ define i8 @test1_no(ptr %a, ptr %b) nounwind {
8080
!10 = !{ !"bar", !12}
8181
!11 = !{ !"qux", !0}
8282
!12 = !{!"different"}
83+
;.
84+
; CHECK: [[BAR_TBAA0]] = !{[[META1:![0-9]+]], [[META1]], i64 0}
85+
; CHECK: [[META1]] = !{!"bar", [[META2:![0-9]+]]}
86+
; CHECK: [[META2]] = !{}
87+
; CHECK: [[FOO_TBAA3]] = !{[[META4:![0-9]+]], [[META4]], i64 0}
88+
; CHECK: [[META4]] = !{!"foo", [[META2]]}
89+
; CHECK: [[BAR_TBAA5]] = !{[[META6:![0-9]+]], [[META6]], i64 0}
90+
; CHECK: [[META6]] = !{!"bar", [[META7:![0-9]+]]}
91+
; CHECK: [[META7]] = !{!"different"}
92+
; CHECK: [[QUX_TBAA8]] = !{[[META9:![0-9]+]], [[META9]], i64 0, i1 true}
93+
; CHECK: [[META9]] = !{!"qux", [[META2]]}
94+
; CHECK: [[QUX_TBAA10]] = !{[[META9]], [[META9]], i64 0, i1 false}
95+
;.

llvm/test/Analysis/TypeBasedAliasAnalysis/gvn-nonlocal-type-mismatch.ll

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
22
; RUN: opt -aa-pipeline=tbaa,basic-aa -passes=gvn -S < %s | FileCheck %s --check-prefixes=CHECK,CHECK-MEMDEP
33
; RUN: opt -aa-pipeline=tbaa,basic-aa -passes='gvn<memoryssa>' -S < %s | FileCheck %s --check-prefixes=CHECK,CHECK-MEMSSA
44

@@ -11,8 +11,8 @@ define void @yes(i1 %c, ptr %p, ptr %p1, ptr %q) nounwind {
1111
; CHECK-MEMDEP-LABEL: define void @yes(
1212
; CHECK-MEMDEP-SAME: i1 [[C:%.*]], ptr [[P:%.*]], ptr [[P1:%.*]], ptr [[Q:%.*]]) #[[ATTR0:[0-9]+]] {
1313
; CHECK-MEMDEP-NEXT: [[ENTRY:.*:]]
14-
; CHECK-MEMDEP-NEXT: store i32 0, ptr [[P]], align 4, !tbaa [[TBAA0:![0-9]+]]
15-
; CHECK-MEMDEP-NEXT: store i32 1, ptr [[P1]], align 4, !tbaa [[TBAA3:![0-9]+]]
14+
; CHECK-MEMDEP-NEXT: store i32 0, ptr [[P]], align 4, !tbaa [[RED_TBAA0:![0-9]+]]
15+
; CHECK-MEMDEP-NEXT: store i32 1, ptr [[P1]], align 4, !tbaa [[BLU_TBAA3:![0-9]+]]
1616
; CHECK-MEMDEP-NEXT: br i1 [[C]], label %[[IF_ELSE:.*]], label %[[IF_THEN:.*]]
1717
; CHECK-MEMDEP: [[IF_THEN]]:
1818
; CHECK-MEMDEP-NEXT: store i32 0, ptr [[Q]], align 4
@@ -23,11 +23,11 @@ define void @yes(i1 %c, ptr %p, ptr %p1, ptr %q) nounwind {
2323
; CHECK-MEMSSA-LABEL: define void @yes(
2424
; CHECK-MEMSSA-SAME: i1 [[C:%.*]], ptr [[P:%.*]], ptr [[P1:%.*]], ptr [[Q:%.*]]) #[[ATTR0:[0-9]+]] {
2525
; CHECK-MEMSSA-NEXT: [[ENTRY:.*:]]
26-
; CHECK-MEMSSA-NEXT: store i32 0, ptr [[P]], align 4, !tbaa [[TBAA0:![0-9]+]]
27-
; CHECK-MEMSSA-NEXT: store i32 1, ptr [[P1]], align 4, !tbaa [[TBAA3:![0-9]+]]
26+
; CHECK-MEMSSA-NEXT: store i32 0, ptr [[P]], align 4, !tbaa [[RED_TBAA0:![0-9]+]]
27+
; CHECK-MEMSSA-NEXT: store i32 1, ptr [[P1]], align 4, !tbaa [[BLU_TBAA3:![0-9]+]]
2828
; CHECK-MEMSSA-NEXT: br i1 [[C]], label %[[IF_ELSE:.*]], label %[[IF_THEN:.*]]
2929
; CHECK-MEMSSA: [[IF_THEN]]:
30-
; CHECK-MEMSSA-NEXT: [[T:%.*]] = load i32, ptr [[P]], align 4, !tbaa [[TBAA0]]
30+
; CHECK-MEMSSA-NEXT: [[T:%.*]] = load i32, ptr [[P]], align 4, !tbaa [[RED_TBAA0]]
3131
; CHECK-MEMSSA-NEXT: store i32 [[T]], ptr [[Q]], align 4
3232
; CHECK-MEMSSA-NEXT: ret void
3333
; CHECK-MEMSSA: [[IF_ELSE]]:
@@ -56,15 +56,15 @@ define void @watch_out_for_type_change(i1 %c, ptr %p, ptr %p1, ptr %q) nounwind
5656
; CHECK-LABEL: define void @watch_out_for_type_change(
5757
; CHECK-SAME: i1 [[C:%.*]], ptr [[P:%.*]], ptr [[P1:%.*]], ptr [[Q:%.*]]) #[[ATTR0:[0-9]+]] {
5858
; CHECK-NEXT: [[ENTRY:.*:]]
59-
; CHECK-NEXT: store i32 0, ptr [[P]], align 4, !tbaa [[TBAA0:![0-9]+]]
60-
; CHECK-NEXT: store i32 1, ptr [[P1]], align 4, !tbaa [[TBAA3:![0-9]+]]
59+
; CHECK-NEXT: store i32 0, ptr [[P]], align 4, !tbaa [[RED_TBAA0:![0-9]+]]
60+
; CHECK-NEXT: store i32 1, ptr [[P1]], align 4, !tbaa [[BLU_TBAA3:![0-9]+]]
6161
; CHECK-NEXT: br i1 [[C]], label %[[IF_ELSE:.*]], label %[[IF_THEN:.*]]
6262
; CHECK: [[IF_THEN]]:
63-
; CHECK-NEXT: [[T:%.*]] = load i32, ptr [[P]], align 4, !tbaa [[TBAA5:![0-9]+]]
63+
; CHECK-NEXT: [[T:%.*]] = load i32, ptr [[P]], align 4, !tbaa [[OUTER_SPACE_TBAA5:![0-9]+]]
6464
; CHECK-NEXT: store i32 [[T]], ptr [[Q]], align 4
6565
; CHECK-NEXT: ret void
6666
; CHECK: [[IF_ELSE]]:
67-
; CHECK-NEXT: [[U:%.*]] = load i32, ptr [[P]], align 4, !tbaa [[TBAA8:![0-9]+]]
67+
; CHECK-NEXT: [[U:%.*]] = load i32, ptr [[P]], align 4, !tbaa [[BRICK_RED_TBAA8:![0-9]+]]
6868
; CHECK-NEXT: store i32 [[U]], ptr [[Q]], align 4
6969
; CHECK-NEXT: ret void
7070
;
@@ -91,29 +91,29 @@ define void @watch_out_for_another_type_change(i1 %c, ptr %p, ptr %p1, ptr %q) n
9191
; CHECK-MEMDEP-LABEL: define void @watch_out_for_another_type_change(
9292
; CHECK-MEMDEP-SAME: i1 [[C:%.*]], ptr [[P:%.*]], ptr [[P1:%.*]], ptr [[Q:%.*]]) #[[ATTR0]] {
9393
; CHECK-MEMDEP-NEXT: [[ENTRY:.*:]]
94-
; CHECK-MEMDEP-NEXT: store i32 0, ptr [[P]], align 4, !tbaa [[TBAA0]]
95-
; CHECK-MEMDEP-NEXT: store i32 1, ptr [[P1]], align 4, !tbaa [[TBAA3]]
94+
; CHECK-MEMDEP-NEXT: store i32 0, ptr [[P]], align 4, !tbaa [[RED_TBAA0]]
95+
; CHECK-MEMDEP-NEXT: store i32 1, ptr [[P1]], align 4, !tbaa [[BLU_TBAA3]]
9696
; CHECK-MEMDEP-NEXT: br i1 [[C]], label %[[IF_ELSE:.*]], label %[[IF_THEN:.*]]
9797
; CHECK-MEMDEP: [[IF_THEN]]:
9898
; CHECK-MEMDEP-NEXT: store i32 0, ptr [[Q]], align 4
9999
; CHECK-MEMDEP-NEXT: ret void
100100
; CHECK-MEMDEP: [[IF_ELSE]]:
101-
; CHECK-MEMDEP-NEXT: [[U:%.*]] = load i32, ptr [[P]], align 4, !tbaa [[TBAA5]]
101+
; CHECK-MEMDEP-NEXT: [[U:%.*]] = load i32, ptr [[P]], align 4, !tbaa [[OUTER_SPACE_TBAA5]]
102102
; CHECK-MEMDEP-NEXT: store i32 [[U]], ptr [[Q]], align 4
103103
; CHECK-MEMDEP-NEXT: ret void
104104
;
105105
; CHECK-MEMSSA-LABEL: define void @watch_out_for_another_type_change(
106106
; CHECK-MEMSSA-SAME: i1 [[C:%.*]], ptr [[P:%.*]], ptr [[P1:%.*]], ptr [[Q:%.*]]) #[[ATTR0]] {
107107
; CHECK-MEMSSA-NEXT: [[ENTRY:.*:]]
108-
; CHECK-MEMSSA-NEXT: store i32 0, ptr [[P]], align 4, !tbaa [[TBAA0]]
109-
; CHECK-MEMSSA-NEXT: store i32 1, ptr [[P1]], align 4, !tbaa [[TBAA3]]
108+
; CHECK-MEMSSA-NEXT: store i32 0, ptr [[P]], align 4, !tbaa [[RED_TBAA0]]
109+
; CHECK-MEMSSA-NEXT: store i32 1, ptr [[P1]], align 4, !tbaa [[BLU_TBAA3]]
110110
; CHECK-MEMSSA-NEXT: br i1 [[C]], label %[[IF_ELSE:.*]], label %[[IF_THEN:.*]]
111111
; CHECK-MEMSSA: [[IF_THEN]]:
112-
; CHECK-MEMSSA-NEXT: [[T:%.*]] = load i32, ptr [[P]], align 4, !tbaa [[TBAA8]]
112+
; CHECK-MEMSSA-NEXT: [[T:%.*]] = load i32, ptr [[P]], align 4, !tbaa [[BRICK_RED_TBAA8]]
113113
; CHECK-MEMSSA-NEXT: store i32 [[T]], ptr [[Q]], align 4
114114
; CHECK-MEMSSA-NEXT: ret void
115115
; CHECK-MEMSSA: [[IF_ELSE]]:
116-
; CHECK-MEMSSA-NEXT: [[U:%.*]] = load i32, ptr [[P]], align 4, !tbaa [[TBAA5]]
116+
; CHECK-MEMSSA-NEXT: [[U:%.*]] = load i32, ptr [[P]], align 4, !tbaa [[OUTER_SPACE_TBAA5]]
117117
; CHECK-MEMSSA-NEXT: store i32 [[U]], ptr [[Q]], align 4
118118
; CHECK-MEMSSA-NEXT: ret void
119119
;
@@ -144,25 +144,25 @@ if.else:
144144
!8 = !{!"brick red", !5}
145145
!9 = !{!"observable universe"}
146146
;.
147-
; CHECK-MEMDEP: [[TBAA0]] = !{[[META1:![0-9]+]], [[META1]], i64 0}
147+
; CHECK-MEMDEP: [[RED_TBAA0]] = !{[[META1:![0-9]+]], [[META1]], i64 0}
148148
; CHECK-MEMDEP: [[META1]] = !{!"red", [[META2:![0-9]+]]}
149149
; CHECK-MEMDEP: [[META2]] = !{}
150-
; CHECK-MEMDEP: [[TBAA3]] = !{[[META4:![0-9]+]], [[META4]], i64 0}
150+
; CHECK-MEMDEP: [[BLU_TBAA3]] = !{[[META4:![0-9]+]], [[META4]], i64 0}
151151
; CHECK-MEMDEP: [[META4]] = !{!"blu", [[META2]]}
152-
; CHECK-MEMDEP: [[TBAA5]] = !{[[META6:![0-9]+]], [[META6]], i64 0}
152+
; CHECK-MEMDEP: [[OUTER_SPACE_TBAA5]] = !{[[META6:![0-9]+]], [[META6]], i64 0}
153153
; CHECK-MEMDEP: [[META6]] = !{!"outer space", [[META7:![0-9]+]]}
154154
; CHECK-MEMDEP: [[META7]] = !{!"observable universe"}
155-
; CHECK-MEMDEP: [[TBAA8]] = !{[[META9:![0-9]+]], [[META9]], i64 0}
155+
; CHECK-MEMDEP: [[BRICK_RED_TBAA8]] = !{[[META9:![0-9]+]], [[META9]], i64 0}
156156
; CHECK-MEMDEP: [[META9]] = !{!"brick red", [[META1]]}
157157
;.
158-
; CHECK-MEMSSA: [[TBAA0]] = !{[[META1:![0-9]+]], [[META1]], i64 0}
158+
; CHECK-MEMSSA: [[RED_TBAA0]] = !{[[META1:![0-9]+]], [[META1]], i64 0}
159159
; CHECK-MEMSSA: [[META1]] = !{!"red", [[META2:![0-9]+]]}
160160
; CHECK-MEMSSA: [[META2]] = !{}
161-
; CHECK-MEMSSA: [[TBAA3]] = !{[[META4:![0-9]+]], [[META4]], i64 0}
161+
; CHECK-MEMSSA: [[BLU_TBAA3]] = !{[[META4:![0-9]+]], [[META4]], i64 0}
162162
; CHECK-MEMSSA: [[META4]] = !{!"blu", [[META2]]}
163-
; CHECK-MEMSSA: [[TBAA5]] = !{[[META6:![0-9]+]], [[META6]], i64 0}
163+
; CHECK-MEMSSA: [[OUTER_SPACE_TBAA5]] = !{[[META6:![0-9]+]], [[META6]], i64 0}
164164
; CHECK-MEMSSA: [[META6]] = !{!"outer space", [[META7:![0-9]+]]}
165165
; CHECK-MEMSSA: [[META7]] = !{!"observable universe"}
166-
; CHECK-MEMSSA: [[TBAA8]] = !{[[META9:![0-9]+]], [[META9]], i64 0}
166+
; CHECK-MEMSSA: [[BRICK_RED_TBAA8]] = !{[[META9:![0-9]+]], [[META9]], i64 0}
167167
; CHECK-MEMSSA: [[META9]] = !{!"brick red", [[META1]]}
168168
;.
Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
22
; RUN: opt -S -aa-pipeline=tbaa,basic-aa -passes=memcpyopt,instcombine < %s | FileCheck %s
33

44
target datalayout = "e-p:64:64:64"
@@ -7,10 +7,12 @@ target datalayout = "e-p:64:64:64"
77
; it has a TBAA tag which declares that it is unrelated.
88

99
define void @foo(ptr nocapture %p, ptr nocapture %q, ptr nocapture %s) nounwind {
10-
; CHECK: @foo
11-
; CHECK-NEXT: tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) %p, ptr noundef nonnull align 1 dereferenceable(16) %q, i64 16, i1 false), !tbaa !0
12-
; CHECK-NEXT: store i8 2, ptr %s, align 1, !tbaa [[TAGA:!.*]]
13-
; CHECK-NEXT: ret void
10+
; CHECK-LABEL: define void @foo(
11+
; CHECK-SAME: ptr captures(none) [[P:%.*]], ptr captures(none) [[Q:%.*]], ptr captures(none) [[S:%.*]]) #[[ATTR0:[0-9]+]] {
12+
; CHECK-NEXT: tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) [[P]], ptr noundef nonnull align 1 dereferenceable(16) [[Q]], i64 16, i1 false), !tbaa [[B_TBAA0:![0-9]+]]
13+
; CHECK-NEXT: store i8 2, ptr [[S]], align 1, !tbaa [[A_TBAA3:![0-9]+]]
14+
; CHECK-NEXT: ret void
15+
;
1416
tail call void @llvm.memcpy.p0.p0.i64(ptr %p, ptr %q, i64 16, i1 false), !tbaa !2
1517
store i8 2, ptr %s, align 1, !tbaa !1
1618
tail call void @llvm.memcpy.p0.p0.i64(ptr %q, ptr %p, i64 16, i1 false), !tbaa !2
@@ -19,10 +21,15 @@ define void @foo(ptr nocapture %p, ptr nocapture %q, ptr nocapture %s) nounwind
1921

2022
declare void @llvm.memcpy.p0.p0.i64(ptr nocapture, ptr nocapture, i64, i1) nounwind
2123

22-
; CHECK: [[TAGA]] = !{[[TYPEA:!.*]], [[TYPEA]], i64 0}
23-
; CHECK: [[TYPEA]] = !{!"A", !{{.*}}}
2424
!0 = !{!"tbaa root"}
2525
!1 = !{!3, !3, i64 0}
2626
!2 = !{!4, !4, i64 0}
2727
!3 = !{!"A", !0}
2828
!4 = !{!"B", !0}
29+
;.
30+
; CHECK: [[B_TBAA0]] = !{[[META1:![0-9]+]], [[META1]], i64 0}
31+
; CHECK: [[META1]] = !{!"B", [[META2:![0-9]+]]}
32+
; CHECK: [[META2]] = !{!"tbaa root"}
33+
; CHECK: [[A_TBAA3]] = !{[[META4:![0-9]+]], [[META4]], i64 0}
34+
; CHECK: [[META4]] = !{!"A", [[META2]]}
35+
;.

llvm/test/Bitcode/upgrade-masked-keep-metadata.ll

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
22
; RUN: opt -S < %s | FileCheck %s
33
define <4 x i32> @load(ptr nocapture readonly %a0) !dbg !8 {
4-
; CHECK-LABEL: @load(
5-
; CHECK-NEXT: entry:
6-
; CHECK-NEXT: [[V0:%.*]] = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr [[A0:%.*]], i32 16, <4 x i1> <i1 true, i1 false, i1 false, i1 true>, <4 x i32> undef), !dbg [[DBG19:![0-9]+]], !tbaa [[TBAA20:![0-9]+]]
4+
; CHECK-LABEL: define <4 x i32> @load(
5+
; CHECK-SAME: ptr readonly captures(none) [[A0:%.*]]) !dbg [[DBG8:![0-9]+]] {
6+
; CHECK-NEXT: [[ENTRY:.*:]]
7+
; CHECK-NEXT: [[V0:%.*]] = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr [[A0]], i32 16, <4 x i1> <i1 true, i1 false, i1 false, i1 true>, <4 x i32> undef), !dbg [[DBG19:![0-9]+]], !tbaa [[CHAR_TBAA20:![0-9]+]]
78
; CHECK-NEXT: ret <4 x i32> [[V0]], !dbg [[DBG23:![0-9]+]]
89
;
910
entry:
@@ -12,9 +13,10 @@ entry:
1213
}
1314

1415
define void @store(<4 x i32> %a0, ptr nocapture %a1) !dbg !24 {
15-
; CHECK-LABEL: @store(
16-
; CHECK-NEXT: entry:
17-
; CHECK-NEXT: call void @llvm.masked.store.v4i32.p0(<4 x i32> [[A0:%.*]], ptr [[A1:%.*]], i32 16, <4 x i1> <i1 false, i1 true, i1 false, i1 true>), !dbg [[DBG30:![0-9]+]], !tbaa [[TBAA20]]
16+
; CHECK-LABEL: define void @store(
17+
; CHECK-SAME: <4 x i32> [[A0:%.*]], ptr captures(none) [[A1:%.*]]) !dbg [[DBG24:![0-9]+]] {
18+
; CHECK-NEXT: [[ENTRY:.*:]]
19+
; CHECK-NEXT: call void @llvm.masked.store.v4i32.p0(<4 x i32> [[A0]], ptr [[A1]], i32 16, <4 x i1> <i1 false, i1 true, i1 false, i1 true>), !dbg [[DBG30:![0-9]+]], !tbaa [[CHAR_TBAA20]]
1820
; CHECK-NEXT: ret void, !dbg [[DBG31:![0-9]+]]
1921
;
2022
entry:
@@ -23,9 +25,10 @@ entry:
2325
}
2426

2527
define <4 x i32> @gather(<4 x ptr> %a0) !dbg !32 {
26-
; CHECK-LABEL: @gather(
27-
; CHECK-NEXT: entry:
28-
; CHECK-NEXT: [[V0:%.*]] = call <4 x i32> @llvm.masked.gather.v4i32.v4p0(<4 x ptr> [[A0:%.*]], i32 16, <4 x i1> <i1 true, i1 true, i1 true, i1 false>, <4 x i32> undef), !dbg [[DBG35:![0-9]+]], !tbaa [[TBAA20]]
28+
; CHECK-LABEL: define <4 x i32> @gather(
29+
; CHECK-SAME: <4 x ptr> [[A0:%.*]]) !dbg [[DBG32:![0-9]+]] {
30+
; CHECK-NEXT: [[ENTRY:.*:]]
31+
; CHECK-NEXT: [[V0:%.*]] = call <4 x i32> @llvm.masked.gather.v4i32.v4p0(<4 x ptr> [[A0]], i32 16, <4 x i1> <i1 true, i1 true, i1 true, i1 false>, <4 x i32> undef), !dbg [[DBG35:![0-9]+]], !tbaa [[CHAR_TBAA20]]
2932
; CHECK-NEXT: ret <4 x i32> [[V0]], !dbg [[DBG36:![0-9]+]]
3033
;
3134
entry:
@@ -34,9 +37,10 @@ entry:
3437
}
3538

3639
define void @scatter(<4 x i32> %a0, <4 x ptr> %a1) !dbg !37 {
37-
; CHECK-LABEL: @scatter(
38-
; CHECK-NEXT: entry:
39-
; CHECK-NEXT: call void @llvm.masked.scatter.v4i32.v4p0(<4 x i32> [[A0:%.*]], <4 x ptr> [[A1:%.*]], i32 16, <4 x i1> <i1 false, i1 true, i1 true, i1 true>), !dbg [[DBG41:![0-9]+]], !tbaa [[TBAA20]]
40+
; CHECK-LABEL: define void @scatter(
41+
; CHECK-SAME: <4 x i32> [[A0:%.*]], <4 x ptr> [[A1:%.*]]) !dbg [[DBG37:![0-9]+]] {
42+
; CHECK-NEXT: [[ENTRY:.*:]]
43+
; CHECK-NEXT: call void @llvm.masked.scatter.v4i32.v4p0(<4 x i32> [[A0]], <4 x ptr> [[A1]], i32 16, <4 x i1> <i1 false, i1 true, i1 true, i1 true>), !dbg [[DBG41:![0-9]+]], !tbaa [[CHAR_TBAA20]]
4044
; CHECK-NEXT: ret void, !dbg [[DBG42:![0-9]+]]
4145
;
4246
entry:
@@ -45,9 +49,10 @@ entry:
4549
}
4650

4751
define <4 x i32> @expandload(ptr nocapture readonly %a0) !dbg !43 {
48-
; CHECK-LABEL: @expandload(
49-
; CHECK-NEXT: entry:
50-
; CHECK-NEXT: [[V0:%.*]] = call <4 x i32> @llvm.masked.expandload.v4i32(ptr [[A0:%.*]], <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x i32> undef), !dbg [[DBG49:![0-9]+]], !tbaa [[TBAA50:![0-9]+]]
52+
; CHECK-LABEL: define <4 x i32> @expandload(
53+
; CHECK-SAME: ptr readonly captures(none) [[A0:%.*]]) !dbg [[DBG43:![0-9]+]] {
54+
; CHECK-NEXT: [[ENTRY:.*:]]
55+
; CHECK-NEXT: [[V0:%.*]] = call <4 x i32> @llvm.masked.expandload.v4i32(ptr [[A0]], <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x i32> undef), !dbg [[DBG49:![0-9]+]], !tbaa [[INT_TBAA50:![0-9]+]]
5156
; CHECK-NEXT: ret <4 x i32> [[V0]], !dbg [[DBG52:![0-9]+]]
5257
;
5358
entry:
@@ -56,9 +61,10 @@ entry:
5661
}
5762

5863
define void @compressstore(<4 x i32> %a0, ptr nocapture %a1) !dbg !53 {
59-
; CHECK-LABEL: @compressstore(
60-
; CHECK-NEXT: entry:
61-
; CHECK-NEXT: call void @llvm.masked.compressstore.v4i32(<4 x i32> [[A0:%.*]], ptr [[A1:%.*]], <4 x i1> <i1 false, i1 false, i1 true, i1 true>), !dbg [[DBG59:![0-9]+]], !tbaa [[TBAA50]]
64+
; CHECK-LABEL: define void @compressstore(
65+
; CHECK-SAME: <4 x i32> [[A0:%.*]], ptr captures(none) [[A1:%.*]]) !dbg [[DBG53:![0-9]+]] {
66+
; CHECK-NEXT: [[ENTRY:.*:]]
67+
; CHECK-NEXT: call void @llvm.masked.compressstore.v4i32(<4 x i32> [[A0]], ptr [[A1]], <4 x i1> <i1 false, i1 false, i1 true, i1 true>), !dbg [[DBG59:![0-9]+]], !tbaa [[INT_TBAA50]]
6268
; CHECK-NEXT: ret void, !dbg [[DBG60:![0-9]+]]
6369
;
6470
entry:

0 commit comments

Comments
 (0)