llvm-mirror/test/Transforms/SimplifyCFG/2006-06-12-InfLoop.ll
Dan Gohman 205b641954 Change tests from "opt %s" to "opt < %s" so that opt doesn't see the
input filename so that opt doesn't print the input filename in the
output so that grep lines in the tests don't unintentionally match
strings in the input filename.

llvm-svn: 81537
2009-09-11 18:01:28 +00:00

414 lines
20 KiB
LLVM

; RUN: opt < %s -simplifycfg -disable-output
; END.
define void @main(i32 %c) {
entry:
%tmp.9 = icmp eq i32 %c, 2 ; <i1> [#uses=1]
br i1 %tmp.9, label %endif.0, label %then.0
then.0: ; preds = %entry
ret void
endif.0: ; preds = %entry
br i1 false, label %then.1, label %endif.1
then.1: ; preds = %endif.0
ret void
endif.1: ; preds = %endif.0
br i1 false, label %then.2, label %endif.2
then.2: ; preds = %endif.1
ret void
endif.2: ; preds = %endif.1
br i1 false, label %then.3, label %loopentry.0
then.3: ; preds = %endif.2
ret void
loopentry.0: ; preds = %endif.2
br i1 false, label %no_exit.0.preheader, label %loopexit.0
no_exit.0.preheader: ; preds = %loopentry.0
br label %no_exit.0
no_exit.0: ; preds = %endif.4, %no_exit.0.preheader
br i1 false, label %then.4, label %endif.4
then.4: ; preds = %no_exit.0
ret void
endif.4: ; preds = %no_exit.0
br i1 false, label %no_exit.0, label %loopexit.0.loopexit
loopexit.0.loopexit: ; preds = %endif.4
br label %loopexit.0
loopexit.0: ; preds = %loopexit.0.loopexit, %loopentry.0
br i1 false, label %then.5, label %loopentry.1
then.5: ; preds = %loopexit.0
ret void
loopentry.1: ; preds = %loopexit.0
%tmp.143 = icmp sgt i32 0, 0 ; <i1> [#uses=4]
br i1 %tmp.143, label %no_exit.1.preheader, label %loopexit.1
no_exit.1.preheader: ; preds = %loopentry.1
br label %no_exit.1
no_exit.1: ; preds = %endif.6, %no_exit.1.preheader
br i1 false, label %then.6, label %shortcirc_next.3
shortcirc_next.3: ; preds = %no_exit.1
br i1 false, label %then.6, label %shortcirc_next.4
shortcirc_next.4: ; preds = %shortcirc_next.3
br i1 false, label %then.6, label %endif.6
then.6: ; preds = %shortcirc_next.4, %shortcirc_next.3, %no_exit.1
ret void
endif.6: ; preds = %shortcirc_next.4
br i1 false, label %no_exit.1, label %loopexit.1.loopexit
loopexit.1.loopexit: ; preds = %endif.6
br label %loopexit.1
loopexit.1: ; preds = %loopexit.1.loopexit, %loopentry.1
br i1 false, label %then.i, label %loopentry.0.i
then.i: ; preds = %loopexit.1
ret void
loopentry.0.i: ; preds = %loopexit.1
br i1 %tmp.143, label %no_exit.0.i.preheader, label %readvector.exit
no_exit.0.i.preheader: ; preds = %loopentry.0.i
br label %no_exit.0.i
no_exit.0.i: ; preds = %loopexit.1.i, %no_exit.0.i.preheader
br i1 false, label %no_exit.1.i.preheader, label %loopexit.1.i
no_exit.1.i.preheader: ; preds = %no_exit.0.i
br label %no_exit.1.i
no_exit.1.i: ; preds = %loopexit.2.i, %no_exit.1.i.preheader
br i1 false, label %no_exit.2.i.preheader, label %loopexit.2.i
no_exit.2.i.preheader: ; preds = %no_exit.1.i
br label %no_exit.2.i
no_exit.2.i: ; preds = %no_exit.2.i, %no_exit.2.i.preheader
br i1 false, label %no_exit.2.i, label %loopexit.2.i.loopexit
loopexit.2.i.loopexit: ; preds = %no_exit.2.i
br label %loopexit.2.i
loopexit.2.i: ; preds = %loopexit.2.i.loopexit, %no_exit.1.i
br i1 false, label %no_exit.1.i, label %loopexit.1.i.loopexit
loopexit.1.i.loopexit: ; preds = %loopexit.2.i
br label %loopexit.1.i
loopexit.1.i: ; preds = %loopexit.1.i.loopexit, %no_exit.0.i
br i1 false, label %no_exit.0.i, label %readvector.exit.loopexit
readvector.exit.loopexit: ; preds = %loopexit.1.i
br label %readvector.exit
readvector.exit: ; preds = %readvector.exit.loopexit, %loopentry.0.i
br i1 %tmp.143, label %loopentry.1.preheader.i, label %loopexit.0.i
loopentry.1.preheader.i: ; preds = %readvector.exit
br label %loopentry.1.outer.i
loopentry.1.outer.i: ; preds = %loopexit.1.i110, %loopentry.1.preheader.i
br label %loopentry.1.i85
loopentry.1.i85.loopexit: ; preds = %hamming.exit16.i
br label %loopentry.1.i85
loopentry.1.i85: ; preds = %loopentry.1.i85.loopexit, %loopentry.1.outer.i
br i1 false, label %no_exit.1.preheader.i, label %loopexit.1.i110.loopexit1
no_exit.1.preheader.i: ; preds = %loopentry.1.i85
br label %no_exit.1.i87
no_exit.1.i87: ; preds = %then.1.i107, %no_exit.1.preheader.i
br i1 false, label %no_exit.i.i101.preheader, label %hamming.exit.i104
no_exit.i.i101.preheader: ; preds = %no_exit.1.i87
br label %no_exit.i.i101
no_exit.i.i101: ; preds = %no_exit.i.i101, %no_exit.i.i101.preheader
br i1 false, label %no_exit.i.i101, label %hamming.exit.i104.loopexit
hamming.exit.i104.loopexit: ; preds = %no_exit.i.i101
br label %hamming.exit.i104
hamming.exit.i104: ; preds = %hamming.exit.i104.loopexit, %no_exit.1.i87
br i1 false, label %no_exit.i15.i.preheader, label %hamming.exit16.i
no_exit.i15.i.preheader: ; preds = %hamming.exit.i104
br label %no_exit.i15.i
no_exit.i15.i: ; preds = %no_exit.i15.i, %no_exit.i15.i.preheader
br i1 false, label %no_exit.i15.i, label %hamming.exit16.i.loopexit
hamming.exit16.i.loopexit: ; preds = %no_exit.i15.i
br label %hamming.exit16.i
hamming.exit16.i: ; preds = %hamming.exit16.i.loopexit, %hamming.exit.i104
br i1 false, label %loopentry.1.i85.loopexit, label %then.1.i107
then.1.i107: ; preds = %hamming.exit16.i
br i1 false, label %no_exit.1.i87, label %loopexit.1.i110.loopexit
loopexit.1.i110.loopexit: ; preds = %then.1.i107
br label %loopexit.1.i110
loopexit.1.i110.loopexit1: ; preds = %loopentry.1.i85
br label %loopexit.1.i110
loopexit.1.i110: ; preds = %loopexit.1.i110.loopexit1, %loopexit.1.i110.loopexit
br i1 false, label %loopentry.1.outer.i, label %loopexit.0.i.loopexit
loopexit.0.i.loopexit: ; preds = %loopexit.1.i110
br label %loopexit.0.i
loopexit.0.i: ; preds = %loopexit.0.i.loopexit, %readvector.exit
br i1 false, label %UnifiedReturnBlock.i113, label %then.2.i112
then.2.i112: ; preds = %loopexit.0.i
br label %checkham.exit
UnifiedReturnBlock.i113: ; preds = %loopexit.0.i
br label %checkham.exit
checkham.exit: ; preds = %UnifiedReturnBlock.i113, %then.2.i112
br i1 false, label %loopentry.1.i14.preheader, label %loopentry.3.i.preheader
loopentry.1.i14.preheader: ; preds = %checkham.exit
br label %loopentry.1.i14
loopentry.1.i14: ; preds = %loopexit.1.i18, %loopentry.1.i14.preheader
br i1 false, label %no_exit.1.i16.preheader, label %loopexit.1.i18
no_exit.1.i16.preheader: ; preds = %loopentry.1.i14
br label %no_exit.1.i16
no_exit.1.i16: ; preds = %no_exit.1.i16, %no_exit.1.i16.preheader
br i1 false, label %no_exit.1.i16, label %loopexit.1.i18.loopexit
loopexit.1.i18.loopexit: ; preds = %no_exit.1.i16
br label %loopexit.1.i18
loopexit.1.i18: ; preds = %loopexit.1.i18.loopexit, %loopentry.1.i14
br i1 false, label %loopentry.1.i14, label %loopentry.3.i.loopexit
loopentry.3.i.loopexit: ; preds = %loopexit.1.i18
br label %loopentry.3.i.preheader
loopentry.3.i.preheader: ; preds = %loopentry.3.i.loopexit, %checkham.exit
br label %loopentry.3.i
loopentry.3.i: ; preds = %endif.1.i, %loopentry.3.i.preheader
br i1 false, label %loopentry.4.i.preheader, label %endif.1.i
loopentry.4.i.preheader: ; preds = %loopentry.3.i
br label %loopentry.4.i
loopentry.4.i: ; preds = %loopexit.4.i, %loopentry.4.i.preheader
br i1 false, label %no_exit.4.i.preheader, label %loopexit.4.i
no_exit.4.i.preheader: ; preds = %loopentry.4.i
br label %no_exit.4.i
no_exit.4.i: ; preds = %no_exit.4.i.backedge, %no_exit.4.i.preheader
br i1 false, label %endif.0.i, label %else.i
else.i: ; preds = %no_exit.4.i
br i1 false, label %no_exit.4.i.backedge, label %loopexit.4.i.loopexit
no_exit.4.i.backedge: ; preds = %endif.0.i, %else.i
br label %no_exit.4.i
endif.0.i: ; preds = %no_exit.4.i
br i1 false, label %no_exit.4.i.backedge, label %loopexit.4.i.loopexit
loopexit.4.i.loopexit: ; preds = %endif.0.i, %else.i
br label %loopexit.4.i
loopexit.4.i: ; preds = %loopexit.4.i.loopexit, %loopentry.4.i
br i1 false, label %loopentry.4.i, label %endif.1.i.loopexit
endif.1.i.loopexit: ; preds = %loopexit.4.i
br label %endif.1.i
endif.1.i: ; preds = %endif.1.i.loopexit, %loopentry.3.i
%exitcond = icmp eq i32 0, 10 ; <i1> [#uses=1]
br i1 %exitcond, label %generateT.exit, label %loopentry.3.i
generateT.exit: ; preds = %endif.1.i
br i1 false, label %then.0.i, label %loopentry.1.i30.preheader
then.0.i: ; preds = %generateT.exit
ret void
loopentry.1.i30.loopexit: ; preds = %loopexit.3.i
br label %loopentry.1.i30.backedge
loopentry.1.i30.preheader: ; preds = %generateT.exit
br label %loopentry.1.i30
loopentry.1.i30: ; preds = %loopentry.1.i30.backedge, %loopentry.1.i30.preheader
br i1 %tmp.143, label %no_exit.0.i31.preheader, label %loopentry.1.i30.backedge
loopentry.1.i30.backedge: ; preds = %loopentry.1.i30, %loopentry.1.i30.loopexit
br label %loopentry.1.i30
no_exit.0.i31.preheader: ; preds = %loopentry.1.i30
br label %no_exit.0.i31
no_exit.0.i31: ; preds = %loopexit.3.i, %no_exit.0.i31.preheader
br i1 false, label %then.1.i, label %else.0.i
then.1.i: ; preds = %no_exit.0.i31
br i1 undef, label %then.0.i29, label %loopentry.0.i31
then.0.i29: ; preds = %then.1.i
unreachable
loopentry.0.i31: ; preds = %then.1.i
br i1 false, label %no_exit.0.i38.preheader, label %loopentry.1.i.preheader
no_exit.0.i38.preheader: ; preds = %loopentry.0.i31
br label %no_exit.0.i38
no_exit.0.i38: ; preds = %no_exit.0.i38, %no_exit.0.i38.preheader
br i1 undef, label %no_exit.0.i38, label %loopentry.1.i.preheader.loopexit
loopentry.1.i.preheader.loopexit: ; preds = %no_exit.0.i38
br label %loopentry.1.i.preheader
loopentry.1.i.preheader: ; preds = %loopentry.1.i.preheader.loopexit, %loopentry.0.i31
br label %loopentry.1.i
loopentry.1.i: ; preds = %endif.2.i, %loopentry.1.i.preheader
br i1 undef, label %loopentry.2.i39.preheader, label %loopexit.1.i79.loopexit2
loopentry.2.i39.preheader: ; preds = %loopentry.1.i
br label %loopentry.2.i39
loopentry.2.i39: ; preds = %loopexit.5.i77, %loopentry.2.i39.preheader
br i1 false, label %loopentry.3.i40.preheader, label %hamming.exit.i71
loopentry.3.i40.preheader: ; preds = %loopentry.2.i39
br label %loopentry.3.i40
loopentry.3.i40: ; preds = %loopexit.3.i51, %loopentry.3.i40.preheader
br i1 false, label %no_exit.3.preheader.i42, label %loopexit.3.i51
no_exit.3.preheader.i42: ; preds = %loopentry.3.i40
br label %no_exit.3.i49
no_exit.3.i49: ; preds = %no_exit.3.i49, %no_exit.3.preheader.i42
br i1 undef, label %no_exit.3.i49, label %loopexit.3.i51.loopexit
loopexit.3.i51.loopexit: ; preds = %no_exit.3.i49
br label %loopexit.3.i51
loopexit.3.i51: ; preds = %loopexit.3.i51.loopexit, %loopentry.3.i40
br i1 undef, label %loopentry.3.i40, label %loopentry.4.i52
loopentry.4.i52: ; preds = %loopexit.3.i51
br i1 false, label %no_exit.4.i54.preheader, label %hamming.exit.i71
no_exit.4.i54.preheader: ; preds = %loopentry.4.i52
br label %no_exit.4.i54
no_exit.4.i54: ; preds = %no_exit.4.backedge.i, %no_exit.4.i54.preheader
br i1 undef, label %then.1.i55, label %endif.1.i56
then.1.i55: ; preds = %no_exit.4.i54
br i1 undef, label %no_exit.4.backedge.i, label %loopexit.4.i57
no_exit.4.backedge.i: ; preds = %endif.1.i56, %then.1.i55
br label %no_exit.4.i54
endif.1.i56: ; preds = %no_exit.4.i54
br i1 undef, label %no_exit.4.backedge.i, label %loopexit.4.i57
loopexit.4.i57: ; preds = %endif.1.i56, %then.1.i55
br i1 false, label %no_exit.i.i69.preheader, label %hamming.exit.i71
no_exit.i.i69.preheader: ; preds = %loopexit.4.i57
br label %no_exit.i.i69
no_exit.i.i69: ; preds = %no_exit.i.i69, %no_exit.i.i69.preheader
br i1 undef, label %no_exit.i.i69, label %hamming.exit.i71.loopexit
hamming.exit.i71.loopexit: ; preds = %no_exit.i.i69
br label %hamming.exit.i71
hamming.exit.i71: ; preds = %hamming.exit.i71.loopexit, %loopexit.4.i57, %loopentry.4.i52, %loopentry.2.i39
br i1 undef, label %endif.2.i, label %loopentry.5.i72
loopentry.5.i72: ; preds = %hamming.exit.i71
br i1 false, label %shortcirc_next.i74.preheader, label %loopexit.5.i77
shortcirc_next.i74.preheader: ; preds = %loopentry.5.i72
br label %shortcirc_next.i74
shortcirc_next.i74: ; preds = %no_exit.5.i76, %shortcirc_next.i74.preheader
br i1 undef, label %no_exit.5.i76, label %loopexit.5.i77.loopexit
no_exit.5.i76: ; preds = %shortcirc_next.i74
br i1 undef, label %shortcirc_next.i74, label %loopexit.5.i77.loopexit
loopexit.5.i77.loopexit: ; preds = %no_exit.5.i76, %shortcirc_next.i74
br label %loopexit.5.i77
loopexit.5.i77: ; preds = %loopexit.5.i77.loopexit, %loopentry.5.i72
br i1 undef, label %loopentry.2.i39, label %loopexit.1.i79.loopexit
endif.2.i: ; preds = %hamming.exit.i71
br label %loopentry.1.i
loopexit.1.i79.loopexit: ; preds = %loopexit.5.i77
br label %loopexit.1.i79
loopexit.1.i79.loopexit2: ; preds = %loopentry.1.i
br label %loopexit.1.i79
loopexit.1.i79: ; preds = %loopexit.1.i79.loopexit2, %loopexit.1.i79.loopexit
br i1 undef, label %then.3.i, label %loopentry.6.i80
then.3.i: ; preds = %loopexit.1.i79
br i1 false, label %no_exit.6.i82.preheader, label %run.exit
loopentry.6.i80: ; preds = %loopexit.1.i79
br i1 false, label %no_exit.6.i82.preheader, label %run.exit
no_exit.6.i82.preheader: ; preds = %loopentry.6.i80, %then.3.i
br label %no_exit.6.i82
no_exit.6.i82: ; preds = %no_exit.6.i82, %no_exit.6.i82.preheader
br i1 undef, label %no_exit.6.i82, label %run.exit.loopexit
run.exit.loopexit: ; preds = %no_exit.6.i82
br label %run.exit
run.exit: ; preds = %run.exit.loopexit, %loopentry.6.i80, %then.3.i
br i1 false, label %no_exit.1.i36.preheader, label %loopentry.3.i37
else.0.i: ; preds = %no_exit.0.i31
br i1 false, label %then.0.i4, label %loopentry.0.i6
then.0.i4: ; preds = %else.0.i
unreachable
loopentry.0.i6: ; preds = %else.0.i
br i1 false, label %no_exit.0.i8.preheader, label %loopentry.2.i.preheader
no_exit.0.i8.preheader: ; preds = %loopentry.0.i6
br label %no_exit.0.i8
no_exit.0.i8: ; preds = %no_exit.0.i8, %no_exit.0.i8.preheader
br i1 false, label %no_exit.0.i8, label %loopentry.2.i.preheader.loopexit
loopentry.2.i.preheader.loopexit: ; preds = %no_exit.0.i8
br label %loopentry.2.i.preheader
loopentry.2.i.preheader: ; preds = %loopentry.2.i.preheader.loopexit, %loopentry.0.i6
br label %loopentry.2.i
loopentry.2.i: ; preds = %endif.3.i19, %loopentry.2.i.preheader
br i1 false, label %loopentry.3.i10.preheader, label %loopentry.4.i15
loopentry.3.i10.preheader: ; preds = %loopentry.2.i
br label %loopentry.3.i10
loopentry.3.i10: ; preds = %loopexit.3.i14, %loopentry.3.i10.preheader
br i1 false, label %no_exit.3.preheader.i, label %loopexit.3.i14
no_exit.3.preheader.i: ; preds = %loopentry.3.i10
br label %no_exit.3.i12
no_exit.3.i12: ; preds = %no_exit.3.i12, %no_exit.3.preheader.i
br i1 false, label %no_exit.3.i12, label %loopexit.3.i14.loopexit
loopexit.3.i14.loopexit: ; preds = %no_exit.3.i12
br label %loopexit.3.i14
loopexit.3.i14: ; preds = %loopexit.3.i14.loopexit, %loopentry.3.i10
br i1 false, label %loopentry.3.i10, label %loopentry.4.i15.loopexit
loopentry.4.i15.loopexit: ; preds = %loopexit.3.i14
br label %loopentry.4.i15
loopentry.4.i15: ; preds = %loopentry.4.i15.loopexit, %loopentry.2.i
br i1 false, label %loopentry.5.outer.i.preheader, label %loopentry.7.i
loopentry.5.outer.i.preheader: ; preds = %loopentry.4.i15
br label %loopentry.5.outer.i
loopentry.5.outer.i: ; preds = %loopexit.5.i, %loopentry.5.outer.i.preheader
br label %loopentry.5.i
loopentry.5.i: ; preds = %endif.1.i18, %loopentry.5.outer.i
br i1 false, label %no_exit.5.i.preheader, label %loopexit.5.i.loopexit3
no_exit.5.i.preheader: ; preds = %loopentry.5.i
br label %no_exit.5.i
no_exit.5.i: ; preds = %then.2.i, %no_exit.5.i.preheader
br i1 false, label %loopentry.6.i, label %endif.1.i18
loopentry.6.i: ; preds = %no_exit.5.i
br i1 false, label %no_exit.6.preheader.i, label %loopexit.6.i
no_exit.6.preheader.i: ; preds = %loopentry.6.i
br label %no_exit.6.i
no_exit.6.i: ; preds = %no_exit.6.i, %no_exit.6.preheader.i
br i1 false, label %no_exit.6.i, label %loopexit.6.i.loopexit
loopexit.6.i.loopexit: ; preds = %no_exit.6.i
br label %loopexit.6.i
loopexit.6.i: ; preds = %loopexit.6.i.loopexit, %loopentry.6.i
br i1 false, label %then.2.i, label %endif.1.i18
then.2.i: ; preds = %loopexit.6.i
br i1 false, label %no_exit.5.i, label %loopexit.5.i.loopexit
endif.1.i18: ; preds = %loopexit.6.i, %no_exit.5.i
br label %loopentry.5.i
loopexit.5.i.loopexit: ; preds = %then.2.i
br label %loopexit.5.i
loopexit.5.i.loopexit3: ; preds = %loopentry.5.i
br label %loopexit.5.i
loopexit.5.i: ; preds = %loopexit.5.i.loopexit3, %loopexit.5.i.loopexit
br i1 false, label %loopentry.5.outer.i, label %loopentry.7.i.loopexit
loopentry.7.i.loopexit: ; preds = %loopexit.5.i
br label %loopentry.7.i
loopentry.7.i: ; preds = %loopentry.7.i.loopexit, %loopentry.4.i15
br i1 false, label %no_exit.7.i.preheader, label %hamming.exit.i
no_exit.7.i.preheader: ; preds = %loopentry.7.i
br label %no_exit.7.i
no_exit.7.i: ; preds = %no_exit.7.i, %no_exit.7.i.preheader
br i1 false, label %no_exit.7.i, label %loopexit.7.i
loopexit.7.i: ; preds = %no_exit.7.i
br i1 false, label %no_exit.i.i.preheader, label %hamming.exit.i
no_exit.i.i.preheader: ; preds = %loopexit.7.i
br label %no_exit.i.i
no_exit.i.i: ; preds = %no_exit.i.i, %no_exit.i.i.preheader
br i1 false, label %no_exit.i.i, label %hamming.exit.i.loopexit
hamming.exit.i.loopexit: ; preds = %no_exit.i.i
br label %hamming.exit.i
hamming.exit.i: ; preds = %hamming.exit.i.loopexit, %loopexit.7.i, %loopentry.7.i
br i1 false, label %endif.3.i19, label %loopentry.8.i
loopentry.8.i: ; preds = %hamming.exit.i
br i1 false, label %shortcirc_next.i.preheader, label %loopexit.8.i
shortcirc_next.i.preheader: ; preds = %loopentry.8.i
br label %shortcirc_next.i
shortcirc_next.i: ; preds = %no_exit.8.i, %shortcirc_next.i.preheader
br i1 false, label %no_exit.8.i, label %loopexit.8.i.loopexit
no_exit.8.i: ; preds = %shortcirc_next.i
br i1 false, label %shortcirc_next.i, label %loopexit.8.i.loopexit
loopexit.8.i.loopexit: ; preds = %no_exit.8.i, %shortcirc_next.i
br label %loopexit.8.i
loopexit.8.i: ; preds = %loopexit.8.i.loopexit, %loopentry.8.i
br i1 false, label %no_exit.9.i.preheader, label %endif.3.i19
no_exit.9.i.preheader: ; preds = %loopexit.8.i
br label %no_exit.9.i
no_exit.9.i: ; preds = %no_exit.9.i, %no_exit.9.i.preheader
br i1 false, label %no_exit.9.i, label %endif.3.i19.loopexit
endif.3.i19.loopexit: ; preds = %no_exit.9.i
br label %endif.3.i19
endif.3.i19: ; preds = %endif.3.i19.loopexit, %loopexit.8.i, %hamming.exit.i
br i1 false, label %loopentry.2.i, label %loopexit.1.i20
loopexit.1.i20: ; preds = %endif.3.i19
br i1 false, label %then.4.i, label %UnifiedReturnBlock.i
then.4.i: ; preds = %loopexit.1.i20
br label %runcont.exit
UnifiedReturnBlock.i: ; preds = %loopexit.1.i20
br label %runcont.exit
runcont.exit: ; preds = %UnifiedReturnBlock.i, %then.4.i
br i1 false, label %no_exit.1.i36.preheader, label %loopentry.3.i37
no_exit.1.i36.preheader: ; preds = %runcont.exit, %run.exit
br label %no_exit.1.i36
no_exit.1.i36: ; preds = %no_exit.1.i36, %no_exit.1.i36.preheader
br i1 false, label %no_exit.1.i36, label %loopentry.3.i37.loopexit
loopentry.3.i37.loopexit: ; preds = %no_exit.1.i36
br label %loopentry.3.i37
loopentry.3.i37: ; preds = %loopentry.3.i37.loopexit, %runcont.exit, %run.exit
br i1 false, label %loopentry.4.i38.preheader, label %loopexit.3.i
loopentry.4.i38.preheader: ; preds = %loopentry.3.i37
br label %loopentry.4.i38
loopentry.4.i38: ; preds = %loopexit.4.i42, %loopentry.4.i38.preheader
br i1 false, label %no_exit.3.i.preheader, label %loopexit.4.i42
no_exit.3.i.preheader: ; preds = %loopentry.4.i38
br label %no_exit.3.i
no_exit.3.i: ; preds = %no_exit.3.i.backedge, %no_exit.3.i.preheader
br i1 false, label %endif.3.i, label %else.1.i
else.1.i: ; preds = %no_exit.3.i
br i1 false, label %no_exit.3.i.backedge, label %loopexit.4.i42.loopexit
no_exit.3.i.backedge: ; preds = %endif.3.i, %else.1.i
br label %no_exit.3.i
endif.3.i: ; preds = %no_exit.3.i
br i1 false, label %no_exit.3.i.backedge, label %loopexit.4.i42.loopexit
loopexit.4.i42.loopexit: ; preds = %endif.3.i, %else.1.i
br label %loopexit.4.i42
loopexit.4.i42: ; preds = %loopexit.4.i42.loopexit, %loopentry.4.i38
br i1 false, label %loopentry.4.i38, label %loopexit.3.i.loopexit
loopexit.3.i.loopexit: ; preds = %loopexit.4.i42
br label %loopexit.3.i
loopexit.3.i: ; preds = %loopexit.3.i.loopexit, %loopentry.3.i37
%tmp.13.i155 = icmp slt i32 0, 0 ; <i1> [#uses=1]
br i1 %tmp.13.i155, label %no_exit.0.i31, label %loopentry.1.i30.loopexit
}