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;.
0 commit comments