11; RUN: opt < %s -passes=simplifycfg -simplifycfg-require-and-preserve-domtree=1 -disable-output
22; END.
33
4- define void @main (i32 %c ) {
4+ define void @main (i32 %c , i1 %arg ) {
55entry:
66 %tmp.9 = icmp eq i32 %c , 2 ; <i1> [#uses=1]
77 br i1 %tmp.9 , label %endif.0 , label %then.0
@@ -186,21 +186,21 @@ no_exit.0.i31.preheader: ; preds = %loopentry.1.i30
186186no_exit.0 .i31 : ; preds = %loopexit.3.i, %no_exit.0.i31.preheader
187187 br i1 false , label %then.1.i , label %else.0.i
188188then.1 .i: ; preds = %no_exit.0.i31
189- br i1 undef , label %then.0.i29 , label %loopentry.0.i31
189+ br i1 %arg , label %then.0.i29 , label %loopentry.0.i31
190190then.0 .i29 : ; preds = %then.1.i
191191 unreachable
192192loopentry.0 .i31 : ; preds = %then.1.i
193193 br i1 false , label %no_exit.0.i38.preheader , label %loopentry.1.i.preheader
194194no_exit.0 .i38 .preheader: ; preds = %loopentry.0.i31
195195 br label %no_exit.0.i38
196196no_exit.0 .i38 : ; preds = %no_exit.0.i38, %no_exit.0.i38.preheader
197- br i1 undef , label %no_exit.0.i38 , label %loopentry.1.i.preheader.loopexit
197+ br i1 %arg , label %no_exit.0.i38 , label %loopentry.1.i.preheader.loopexit
198198loopentry.1 .i.preheader.loopexit: ; preds = %no_exit.0.i38
199199 br label %loopentry.1.i.preheader
200200loopentry.1 .i.preheader: ; preds = %loopentry.1.i.preheader.loopexit, %loopentry.0.i31
201201 br label %loopentry.1.i
202202loopentry.1 .i: ; preds = %endif.2.i, %loopentry.1.i.preheader
203- br i1 undef , label %loopentry.2.i39.preheader , label %loopexit.1.i79.loopexit2
203+ br i1 %arg , label %loopentry.2.i39.preheader , label %loopexit.1.i79.loopexit2
204204loopentry.2 .i39 .preheader: ; preds = %loopentry.1.i
205205 br label %loopentry.2.i39
206206loopentry.2 .i39 : ; preds = %loopexit.5.i77, %loopentry.2.i39.preheader
@@ -212,61 +212,61 @@ loopentry.3.i40: ; preds = %loopexit.3.i51, %loopentry.3.i40.preheader
212212no_exit.3 .preheader.i42 : ; preds = %loopentry.3.i40
213213 br label %no_exit.3.i49
214214no_exit.3 .i49 : ; preds = %no_exit.3.i49, %no_exit.3.preheader.i42
215- br i1 undef , label %no_exit.3.i49 , label %loopexit.3.i51.loopexit
215+ br i1 %arg , label %no_exit.3.i49 , label %loopexit.3.i51.loopexit
216216loopexit.3 .i51 .loopexit: ; preds = %no_exit.3.i49
217217 br label %loopexit.3.i51
218218loopexit.3 .i51 : ; preds = %loopexit.3.i51.loopexit, %loopentry.3.i40
219- br i1 undef , label %loopentry.3.i40 , label %loopentry.4.i52
219+ br i1 %arg , label %loopentry.3.i40 , label %loopentry.4.i52
220220loopentry.4 .i52 : ; preds = %loopexit.3.i51
221221 br i1 false , label %no_exit.4.i54.preheader , label %hamming.exit.i71
222222no_exit.4 .i54 .preheader: ; preds = %loopentry.4.i52
223223 br label %no_exit.4.i54
224224no_exit.4 .i54 : ; preds = %no_exit.4.backedge.i, %no_exit.4.i54.preheader
225- br i1 undef , label %then.1.i55 , label %endif.1.i56
225+ br i1 %arg , label %then.1.i55 , label %endif.1.i56
226226then.1 .i55 : ; preds = %no_exit.4.i54
227- br i1 undef , label %no_exit.4.backedge.i , label %loopexit.4.i57
227+ br i1 %arg , label %no_exit.4.backedge.i , label %loopexit.4.i57
228228no_exit.4 .backedge.i: ; preds = %endif.1.i56, %then.1.i55
229229 br label %no_exit.4.i54
230230endif.1 .i56 : ; preds = %no_exit.4.i54
231- br i1 undef , label %no_exit.4.backedge.i , label %loopexit.4.i57
231+ br i1 %arg , label %no_exit.4.backedge.i , label %loopexit.4.i57
232232loopexit.4 .i57 : ; preds = %endif.1.i56, %then.1.i55
233233 br i1 false , label %no_exit.i.i69.preheader , label %hamming.exit.i71
234234no_exit.i.i69 .preheader: ; preds = %loopexit.4.i57
235235 br label %no_exit.i.i69
236236no_exit.i.i69 : ; preds = %no_exit.i.i69, %no_exit.i.i69.preheader
237- br i1 undef , label %no_exit.i.i69 , label %hamming.exit.i71.loopexit
237+ br i1 %arg , label %no_exit.i.i69 , label %hamming.exit.i71.loopexit
238238hamming.exit.i71 .loopexit: ; preds = %no_exit.i.i69
239239 br label %hamming.exit.i71
240240hamming.exit.i71 : ; preds = %hamming.exit.i71.loopexit, %loopexit.4.i57, %loopentry.4.i52, %loopentry.2.i39
241- br i1 undef , label %endif.2.i , label %loopentry.5.i72
241+ br i1 %arg , label %endif.2.i , label %loopentry.5.i72
242242loopentry.5 .i72 : ; preds = %hamming.exit.i71
243243 br i1 false , label %shortcirc_next.i74.preheader , label %loopexit.5.i77
244244shortcirc_next.i74 .preheader: ; preds = %loopentry.5.i72
245245 br label %shortcirc_next.i74
246246shortcirc_next.i74 : ; preds = %no_exit.5.i76, %shortcirc_next.i74.preheader
247- br i1 undef , label %no_exit.5.i76 , label %loopexit.5.i77.loopexit
247+ br i1 %arg , label %no_exit.5.i76 , label %loopexit.5.i77.loopexit
248248no_exit.5 .i76 : ; preds = %shortcirc_next.i74
249- br i1 undef , label %shortcirc_next.i74 , label %loopexit.5.i77.loopexit
249+ br i1 %arg , label %shortcirc_next.i74 , label %loopexit.5.i77.loopexit
250250loopexit.5 .i77 .loopexit: ; preds = %no_exit.5.i76, %shortcirc_next.i74
251251 br label %loopexit.5.i77
252252loopexit.5 .i77 : ; preds = %loopexit.5.i77.loopexit, %loopentry.5.i72
253- br i1 undef , label %loopentry.2.i39 , label %loopexit.1.i79.loopexit
253+ br i1 %arg , label %loopentry.2.i39 , label %loopexit.1.i79.loopexit
254254endif.2 .i: ; preds = %hamming.exit.i71
255255 br label %loopentry.1.i
256256loopexit.1 .i79 .loopexit: ; preds = %loopexit.5.i77
257257 br label %loopexit.1.i79
258258loopexit.1 .i79 .loopexit2: ; preds = %loopentry.1.i
259259 br label %loopexit.1.i79
260260loopexit.1 .i79 : ; preds = %loopexit.1.i79.loopexit2, %loopexit.1.i79.loopexit
261- br i1 undef , label %then.3.i , label %loopentry.6.i80
261+ br i1 %arg , label %then.3.i , label %loopentry.6.i80
262262then.3 .i: ; preds = %loopexit.1.i79
263263 br i1 false , label %no_exit.6.i82.preheader , label %run.exit
264264loopentry.6 .i80 : ; preds = %loopexit.1.i79
265265 br i1 false , label %no_exit.6.i82.preheader , label %run.exit
266266no_exit.6 .i82 .preheader: ; preds = %loopentry.6.i80, %then.3.i
267267 br label %no_exit.6.i82
268268no_exit.6 .i82 : ; preds = %no_exit.6.i82, %no_exit.6.i82.preheader
269- br i1 undef , label %no_exit.6.i82 , label %run.exit.loopexit
269+ br i1 %arg , label %no_exit.6.i82 , label %run.exit.loopexit
270270run.exit.loopexit: ; preds = %no_exit.6.i82
271271 br label %run.exit
272272run.exit: ; preds = %run.exit.loopexit, %loopentry.6.i80, %then.3.i
0 commit comments