From: Chris Lattner Date: Mon, 12 Jun 2006 20:17:44 +0000 (+0000) Subject: TEstcase that makes simplifycfg infloop. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b2035f2287653b766d938db46c9761318c4e5b1f;p=oota-llvm.git TEstcase that makes simplifycfg infloop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28757 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Transforms/SimplifyCFG/2006-06-12-InfLoop.ll b/test/Transforms/SimplifyCFG/2006-06-12-InfLoop.ll new file mode 100644 index 00000000000..d6e2551637c --- /dev/null +++ b/test/Transforms/SimplifyCFG/2006-06-12-InfLoop.ll @@ -0,0 +1,613 @@ +; RUN: llvm-as < %s | opt -simplifycfg -disable-output + +void %main(int %c) { +entry: + %tmp.9 = seteq int %c, 2 ; [#uses=1] + br bool %tmp.9, label %endif.0, label %then.0 + +then.0: ; preds = %entry + ret void + +endif.0: ; preds = %entry + br bool false, label %then.1, label %endif.1 + +then.1: ; preds = %endif.0 + ret void + +endif.1: ; preds = %endif.0 + br bool false, label %then.2, label %endif.2 + +then.2: ; preds = %endif.1 + ret void + +endif.2: ; preds = %endif.1 + br bool false, label %then.3, label %loopentry.0 + +then.3: ; preds = %endif.2 + ret void + +loopentry.0: ; preds = %endif.2 + br bool 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 bool false, label %then.4, label %endif.4 + +then.4: ; preds = %no_exit.0 + ret void + +endif.4: ; preds = %no_exit.0 + br bool 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 bool false, label %then.5, label %loopentry.1 + +then.5: ; preds = %loopexit.0 + ret void + +loopentry.1: ; preds = %loopexit.0 + %tmp.143 = setgt int 0, 0 ; [#uses=4] + br bool %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 bool false, label %then.6, label %shortcirc_next.3 + +shortcirc_next.3: ; preds = %no_exit.1 + br bool false, label %then.6, label %shortcirc_next.4 + +shortcirc_next.4: ; preds = %shortcirc_next.3 + br bool 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 bool 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 bool false, label %then.i, label %loopentry.0.i + +then.i: ; preds = %loopexit.1 + ret void + +loopentry.0.i: ; preds = %loopexit.1 + br bool %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 bool 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 bool 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 bool 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 bool 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 bool 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 bool %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 bool 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 bool 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 bool 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 bool 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 bool 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 bool false, label %loopentry.1.i85.loopexit, label %then.1.i107 + +then.1.i107: ; preds = %hamming.exit16.i + br bool 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 bool 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 bool 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 bool 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 bool 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 bool 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 bool 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 bool 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 bool 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 bool false, label %endif.0.i, label %else.i + +else.i: ; preds = %no_exit.4.i + br bool 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 bool 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 bool 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 = seteq uint 0, 10 ; [#uses=1] + br bool %exitcond, label %generateT.exit, label %loopentry.3.i + +generateT.exit: ; preds = %endif.1.i + br bool 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 bool %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 bool false, label %then.1.i, label %else.0.i + +then.1.i: ; preds = %no_exit.0.i31 + br bool 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 bool 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 bool 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 bool 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 bool 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 bool 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 bool 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 bool undef, label %loopentry.3.i40, label %loopentry.4.i52 + +loopentry.4.i52: ; preds = %loopexit.3.i51 + br bool 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 bool undef, label %then.1.i55, label %endif.1.i56 + +then.1.i55: ; preds = %no_exit.4.i54 + br bool 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 bool undef, label %no_exit.4.backedge.i, label %loopexit.4.i57 + +loopexit.4.i57: ; preds = %endif.1.i56, %then.1.i55 + br bool 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 bool 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 bool undef, label %endif.2.i, label %loopentry.5.i72 + +loopentry.5.i72: ; preds = %hamming.exit.i71 + br bool 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 bool undef, label %no_exit.5.i76, label %loopexit.5.i77.loopexit + +no_exit.5.i76: ; preds = %shortcirc_next.i74 + br bool 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 bool 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 bool undef, label %then.3.i, label %loopentry.6.i80 + +then.3.i: ; preds = %loopexit.1.i79 + br bool false, label %no_exit.6.i82.preheader, label %run.exit + +loopentry.6.i80: ; preds = %loopexit.1.i79 + br bool 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 bool 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 bool false, label %no_exit.1.i36.preheader, label %loopentry.3.i37 + +else.0.i: ; preds = %no_exit.0.i31 + br bool 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 bool 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 bool 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 bool 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 bool 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 bool 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 bool 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 bool 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 bool 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 bool false, label %loopentry.6.i, label %endif.1.i18 + +loopentry.6.i: ; preds = %no_exit.5.i + br bool 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 bool 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 bool false, label %then.2.i, label %endif.1.i18 + +then.2.i: ; preds = %loopexit.6.i + br bool 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 bool 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 bool 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 bool false, label %no_exit.7.i, label %loopexit.7.i + +loopexit.7.i: ; preds = %no_exit.7.i + br bool 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 bool 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 bool false, label %endif.3.i19, label %loopentry.8.i + +loopentry.8.i: ; preds = %hamming.exit.i + br bool 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 bool false, label %no_exit.8.i, label %loopexit.8.i.loopexit + +no_exit.8.i: ; preds = %shortcirc_next.i + br bool 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 bool 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 bool 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 bool false, label %loopentry.2.i, label %loopexit.1.i20 + +loopexit.1.i20: ; preds = %endif.3.i19 + br bool 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 bool 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 bool 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 bool 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 bool 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 bool false, label %endif.3.i, label %else.1.i + +else.1.i: ; preds = %no_exit.3.i + br bool 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 bool 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 bool 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 = setlt int 0, 0 ; [#uses=1] + br bool %tmp.13.i155, label %no_exit.0.i31, label %loopentry.1.i30.loopexit +}