@@ -95,7 +95,6 @@ define void @f11(i1 %c, ptr %p, ptr %q, ptr %r) {
9595; CHECK-SAME: i1 [[C:%.*]], ptr [[P:%.*]], ptr [[Q:%.*]], ptr [[R:%.*]]) #[[ATTR0]] {
9696; CHECK-NEXT: [[ENTRY:.*:]]
9797; CHECK-NEXT: [[TMP0:%.*]] = load <2 x i64>, ptr [[P]], align 8
98- ; CHECK-NEXT: [[TMP1:%.*]] = add <2 x i64> [[TMP0]], splat (i64 1)
9998; CHECK-NEXT: br i1 [[C]], label %[[FOO:.*]], label %[[BAR:.*]]
10099; CHECK: [[FOO]]:
101100; CHECK-NEXT: br label %[[BAZ:.*]]
@@ -105,16 +104,14 @@ define void @f11(i1 %c, ptr %p, ptr %q, ptr %r) {
105104; CHECK-NEXT: call void @g()
106105; CHECK-NEXT: br label %[[BAZ]]
107106; CHECK: [[BAZ]]:
108- ; CHECK-NEXT: [[TMP2:%.*]] = phi <2 x i64> [ [[TMP1]] , %[[FOO]] ], [ [[TMP0]], %[[BAR]] ]
107+ ; CHECK-NEXT: [[TMP2:%.*]] = phi <2 x i64> [ <i64 0, i64 1> , %[[FOO]] ], [ [[TMP0]], %[[BAR]] ]
109108; CHECK-NEXT: store <2 x i64> [[TMP2]], ptr [[Q]], align 8
110109; CHECK-NEXT: ret void
111110;
112111entry:
113112 %x0 = load i64 , ptr %p
114113 %p1 = getelementptr i64 , ptr %p , i64 1
115114 %x1 = load i64 , ptr %p1
116- %y0 = add i64 %x0 , 1
117- %y1 = add i64 %x1 , 1
118115 br i1 %c , label %foo , label %bar
119116foo:
120117 br label %baz
124121 call void @g ()
125122 br label %baz
126123baz:
127- %phi0 = phi i64 [%y0 , %foo ], [%x0 , %bar ]
128- %phi1 = phi i64 [%y1 , %foo ], [%x1 , %bar ]
124+ %phi0 = phi i64 [0 , %foo ], [%x0 , %bar ]
125+ %phi1 = phi i64 [1 , %foo ], [%x1 , %bar ]
129126 store i64 %phi0 , ptr %q
130127 %q1 = getelementptr i64 , ptr %q , i64 1
131128 store i64 %phi1 , ptr %q1
0 commit comments