@@ -13,17 +13,18 @@ define fastcc void @LzmaDec_DecodeReal2(ptr %p, i1 %arg) {
1313; CHECK-NEXT: [[RANGE20_I:%.*]] = getelementptr inbounds [[STRUCT_CLZMADEC_1_28_55_82_103_124_145_166_181_196_229_259_334:%.*]], ptr [[P:%.*]], i64 0, i32 4
1414; CHECK-NEXT: br label [[DO_BODY66_I:%.*]]
1515; CHECK: do.body66.i:
16- ; CHECK-NEXT: [[TMP0:%.*]] = phi <2 x i32> [ [[TMP3:%.*]], [[DO_COND_I:%.*]] ], [ undef, [[ENTRY:%.*]] ]
17- ; CHECK-NEXT: [[TMP1:%.*]] = select <2 x i1> undef, <2 x i32> undef, <2 x i32> [[TMP0]]
18- ; CHECK-NEXT: br i1 %arg, label [[DO_COND_I]], label [[IF_ELSE_I:%.*]]
16+ ; CHECK-NEXT: [[TMP0:%.*]] = phi <2 x i32> [ [[TMP3:%.*]], [[DO_COND_I:%.*]] ], [ zeroinitializer, [[ENTRY:%.*]] ]
17+ ; CHECK-NEXT: [[TMP1:%.*]] = select <2 x i1> zeroinitializer, <2 x i32> zeroinitializer, <2 x i32> [[TMP0]]
18+ ; CHECK-NEXT: [[TMP5:%.*]] = shufflevector <2 x i32> [[TMP1]], <2 x i32> <i32 0, i32 poison>, <2 x i32> <i32 2, i32 1>
19+ ; CHECK-NEXT: br i1 [[ARG:%.*]], label [[DO_COND_I]], label [[IF_ELSE_I:%.*]]
1920; CHECK: if.else.i:
20- ; CHECK-NEXT: [[TMP2:%.*]] = sub <2 x i32> [[TMP1]], undef
21+ ; CHECK-NEXT: [[TMP2:%.*]] = sub <2 x i32> [[TMP1]], zeroinitializer
2122; CHECK-NEXT: br label [[DO_COND_I]]
2223; CHECK: do.cond.i:
23- ; CHECK-NEXT: [[TMP3]] = phi <2 x i32> [ [[TMP2]], [[IF_ELSE_I]] ], [ [[TMP1 ]], [[DO_BODY66_I]] ]
24- ; CHECK-NEXT: br i1 %arg , label [[DO_BODY66_I]], label [[DO_END1006_I:%.*]]
24+ ; CHECK-NEXT: [[TMP3]] = phi <2 x i32> [ [[TMP2]], [[IF_ELSE_I]] ], [ [[TMP5 ]], [[DO_BODY66_I]] ]
25+ ; CHECK-NEXT: br i1 [[ARG]] , label [[DO_BODY66_I]], label [[DO_END1006_I:%.*]]
2526; CHECK: do.end1006.i:
26- ; CHECK-NEXT: [[TMP4:%.*]] = select <2 x i1> undef , <2 x i32> undef , <2 x i32> [[TMP3]]
27+ ; CHECK-NEXT: [[TMP4:%.*]] = select <2 x i1> zeroinitializer , <2 x i32> zeroinitializer , <2 x i32> [[TMP3]]
2728; CHECK-NEXT: store <2 x i32> [[TMP4]], ptr [[RANGE20_I]], align 4
2829; CHECK-NEXT: ret void
2930;
@@ -33,25 +34,25 @@ entry:
3334 br label %do.body66.i
3435
3536do.body66.i: ; preds = %do.cond.i, %entry
36- %range.2.i = phi i32 [ %range.4.i , %do.cond.i ], [ undef , %entry ]
37- %code.2.i = phi i32 [ %code.4.i , %do.cond.i ], [ undef , %entry ]
38- %.range.2.i = select i1 undef , i32 undef , i32 %range.2.i
39- %.code.2.i = select i1 undef , i32 undef , i32 %code.2.i
37+ %range.2.i = phi i32 [ %range.4.i , %do.cond.i ], [ zeroinitializer , %entry ]
38+ %code.2.i = phi i32 [ %code.4.i , %do.cond.i ], [ zeroinitializer , %entry ]
39+ %.range.2.i = select i1 zeroinitializer , i32 zeroinitializer , i32 %range.2.i
40+ %.code.2.i = select i1 zeroinitializer , i32 zeroinitializer , i32 %code.2.i
4041 br i1 %arg , label %do.cond.i , label %if.else.i
4142
4243if.else.i: ; preds = %do.body66.i
43- %sub91.i = sub i32 %.range.2.i , undef
44- %sub92.i = sub i32 %.code.2.i , undef
44+ %sub91.i = sub i32 %.range.2.i , zeroinitializer
45+ %sub92.i = sub i32 %.code.2.i , zeroinitializer
4546 br label %do.cond.i
4647
4748do.cond.i: ; preds = %if.else.i, %do.body66.i
48- %range.4.i = phi i32 [ %sub91.i , %if.else.i ], [ undef , %do.body66.i ]
49+ %range.4.i = phi i32 [ %sub91.i , %if.else.i ], [ zeroinitializer , %do.body66.i ]
4950 %code.4.i = phi i32 [ %sub92.i , %if.else.i ], [ %.code.2.i , %do.body66.i ]
5051 br i1 %arg , label %do.body66.i , label %do.end1006.i
5152
5253do.end1006.i: ; preds = %do.cond.i
53- %.range.4.i = select i1 undef , i32 undef , i32 %range.4.i
54- %.code.4.i = select i1 undef , i32 undef , i32 %code.4.i
54+ %.range.4.i = select i1 zeroinitializer , i32 zeroinitializer , i32 %range.4.i
55+ %.code.4.i = select i1 zeroinitializer , i32 zeroinitializer , i32 %code.4.i
5556 store i32 %.range.4.i , ptr %range20.i , align 4
5657 store i32 %.code.4.i , ptr %code21.i , align 4
5758 ret void
0 commit comments