@@ -14,9 +14,9 @@ define void @blend_uniform_iv_trunc(i1 %c) {
1414; CHECK-NEXT: [[INDEX:%.*]] = phi i64 [ 0, %[[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], %[[VECTOR_BODY]] ]
1515; CHECK-NEXT: [[TMP0:%.*]] = trunc i64 [[INDEX]] to i16
1616; CHECK-NEXT: [[TMP1:%.*]] = add i16 [[TMP0]], 0
17- ; CHECK-NEXT: [[PREDPHI :%.*]] = select i1 [[C]], i16 [[TMP1]], i16 undef
18- ; CHECK-NEXT: [[TMP2 :%.*]] = getelementptr inbounds [32 x i16], ptr @dst, i16 0, i16 [[PREDPHI ]]
19- ; CHECK-NEXT: [[TMP3:%.*]] = getelementptr inbounds i16, ptr [[TMP2 ]], i32 0
17+ ; CHECK-NEXT: [[TMP6 :%.*]] = select i1 [[C]], i16 [[TMP1]], i16 poison
18+ ; CHECK-NEXT: [[TMP7 :%.*]] = getelementptr inbounds [32 x i16], ptr @dst, i16 0, i16 [[TMP6 ]]
19+ ; CHECK-NEXT: [[TMP3:%.*]] = getelementptr inbounds i16, ptr [[TMP7 ]], i32 0
2020; CHECK-NEXT: store <4 x i16> zeroinitializer, ptr [[TMP3]], align 2
2121; CHECK-NEXT: [[INDEX_NEXT]] = add nuw i64 [[INDEX]], 4
2222; CHECK-NEXT: [[TMP4:%.*]] = icmp eq i64 [[INDEX_NEXT]], 32
@@ -33,7 +33,7 @@ define void @blend_uniform_iv_trunc(i1 %c) {
3333; CHECK: [[LOOP_NEXT]]:
3434; CHECK-NEXT: br label %[[LOOP_LATCH]]
3535; CHECK: [[LOOP_LATCH]]:
36- ; CHECK-NEXT: [[BLEND:%.*]] = phi i16 [ undef , %[[LOOP_HEADER]] ], [ [[IV_TRUNC_2]], %[[LOOP_NEXT]] ]
36+ ; CHECK-NEXT: [[BLEND:%.*]] = phi i16 [ poison , %[[LOOP_HEADER]] ], [ [[IV_TRUNC_2]], %[[LOOP_NEXT]] ]
3737; CHECK-NEXT: [[DST_PTR:%.*]] = getelementptr inbounds [32 x i16], ptr @dst, i16 0, i16 [[BLEND]]
3838; CHECK-NEXT: store i16 0, ptr [[DST_PTR]], align 2
3939; CHECK-NEXT: [[IV_NEXT]] = add nuw nsw i64 [[IV]], 1
@@ -54,7 +54,7 @@ loop.next: ; preds = %loop.header
5454 br label %loop.latch
5555
5656loop.latch: ; preds = %loop.next, %loop.header
57- %blend = phi i16 [ undef , %loop.header ], [ %iv.trunc.2 , %loop.next ]
57+ %blend = phi i16 [ poison , %loop.header ], [ %iv.trunc.2 , %loop.next ]
5858 %dst.ptr = getelementptr inbounds [32 x i16 ], ptr @dst , i16 0 , i16 %blend
5959 store i16 0 , ptr %dst.ptr
6060 %iv.next = add nuw nsw i64 %iv , 1
@@ -75,9 +75,9 @@ define void @blend_uniform_iv(i1 %c) {
7575; CHECK: [[VECTOR_BODY]]:
7676; CHECK-NEXT: [[INDEX:%.*]] = phi i64 [ 0, %[[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], %[[VECTOR_BODY]] ]
7777; CHECK-NEXT: [[TMP0:%.*]] = add i64 [[INDEX]], 0
78- ; CHECK-NEXT: [[PREDPHI :%.*]] = select i1 [[C]], i64 [[TMP0]], i64 undef
79- ; CHECK-NEXT: [[TMP1 :%.*]] = getelementptr inbounds [32 x i16], ptr @dst, i16 0, i64 [[PREDPHI ]]
80- ; CHECK-NEXT: [[TMP2:%.*]] = getelementptr inbounds i16, ptr [[TMP1 ]], i32 0
78+ ; CHECK-NEXT: [[TMP6 :%.*]] = select i1 [[C]], i64 [[TMP0]], i64 poison
79+ ; CHECK-NEXT: [[TMP7 :%.*]] = getelementptr inbounds [32 x i16], ptr @dst, i16 0, i64 [[TMP6 ]]
80+ ; CHECK-NEXT: [[TMP2:%.*]] = getelementptr inbounds i16, ptr [[TMP7 ]], i32 0
8181; CHECK-NEXT: store <4 x i16> zeroinitializer, ptr [[TMP2]], align 2
8282; CHECK-NEXT: [[INDEX_NEXT]] = add nuw i64 [[INDEX]], 4
8383; CHECK-NEXT: [[TMP3:%.*]] = icmp eq i64 [[INDEX_NEXT]], 32
@@ -93,7 +93,7 @@ define void @blend_uniform_iv(i1 %c) {
9393; CHECK: [[LOOP_NEXT]]:
9494; CHECK-NEXT: br label %[[LOOP_LATCH]]
9595; CHECK: [[LOOP_LATCH]]:
96- ; CHECK-NEXT: [[BLEND:%.*]] = phi i64 [ undef , %[[LOOP_HEADER]] ], [ [[IV]], %[[LOOP_NEXT]] ]
96+ ; CHECK-NEXT: [[BLEND:%.*]] = phi i64 [ poison , %[[LOOP_HEADER]] ], [ [[IV]], %[[LOOP_NEXT]] ]
9797; CHECK-NEXT: [[DST_PTR:%.*]] = getelementptr inbounds [32 x i16], ptr @dst, i16 0, i64 [[BLEND]]
9898; CHECK-NEXT: store i16 0, ptr [[DST_PTR]], align 2
9999; CHECK-NEXT: [[IV_NEXT]] = add nuw nsw i64 [[IV]], 1
@@ -114,7 +114,7 @@ loop.next: ; preds = %loop.header
114114 br label %loop.latch
115115
116116loop.latch: ; preds = %loop.next, %loop.header
117- %blend = phi i64 [ undef , %loop.header ], [ %iv , %loop.next ]
117+ %blend = phi i64 [ poison , %loop.header ], [ %iv , %loop.next ]
118118 %dst.ptr = getelementptr inbounds [32 x i16 ], ptr @dst , i16 0 , i64 %blend
119119 store i16 0 , ptr %dst.ptr
120120 %iv.next = add nuw nsw i64 %iv , 1
0 commit comments