1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/test/Transforms/SimplifyCFG/2006-06-12-InfLoop.ll
Eric Christopher a62270de2c Revert "Temporarily Revert "Add basic loop fusion pass.""
The reversion apparently deleted the test/Transforms directory.

Will be re-reverting again.

llvm-svn: 358552
2019-04-17 04:52:47 +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
}