@@ -13,17 +13,18 @@ define fastcc void @LzmaDec_DecodeReal2(ptr %p, i1 %arg) {
13
13
; 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
14
14
; CHECK-NEXT: br label [[DO_BODY66_I:%.*]]
15
15
; 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:%.*]]
19
20
; CHECK: if.else.i:
20
- ; CHECK-NEXT: [[TMP2:%.*]] = sub <2 x i32> [[TMP1]], undef
21
+ ; CHECK-NEXT: [[TMP2:%.*]] = sub <2 x i32> [[TMP1]], zeroinitializer
21
22
; CHECK-NEXT: br label [[DO_COND_I]]
22
23
; 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:%.*]]
25
26
; 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]]
27
28
; CHECK-NEXT: store <2 x i32> [[TMP4]], ptr [[RANGE20_I]], align 4
28
29
; CHECK-NEXT: ret void
29
30
;
@@ -33,25 +34,25 @@ entry:
33
34
br label %do.body66.i
34
35
35
36
do.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
40
41
br i1 %arg , label %do.cond.i , label %if.else.i
41
42
42
43
if.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
45
46
br label %do.cond.i
46
47
47
48
do.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 ]
49
50
%code.4.i = phi i32 [ %sub92.i , %if.else.i ], [ %.code.2.i , %do.body66.i ]
50
51
br i1 %arg , label %do.body66.i , label %do.end1006.i
51
52
52
53
do.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
55
56
store i32 %.range.4.i , ptr %range20.i , align 4
56
57
store i32 %.code.4.i , ptr %code21.i , align 4
57
58
ret void
0 commit comments