Home | History | Annotate | Download | only in SimplifyCFG
      1 ; RUN: opt < %s -simplifycfg -disable-output
      2 ; END.
      3 
      4 define void @main(i32 %c) {
      5 entry:
      6 	%tmp.9 = icmp eq i32 %c, 2		; <i1> [#uses=1]
      7 	br i1 %tmp.9, label %endif.0, label %then.0
      8 then.0:		; preds = %entry
      9 	ret void
     10 endif.0:		; preds = %entry
     11 	br i1 false, label %then.1, label %endif.1
     12 then.1:		; preds = %endif.0
     13 	ret void
     14 endif.1:		; preds = %endif.0
     15 	br i1 false, label %then.2, label %endif.2
     16 then.2:		; preds = %endif.1
     17 	ret void
     18 endif.2:		; preds = %endif.1
     19 	br i1 false, label %then.3, label %loopentry.0
     20 then.3:		; preds = %endif.2
     21 	ret void
     22 loopentry.0:		; preds = %endif.2
     23 	br i1 false, label %no_exit.0.preheader, label %loopexit.0
     24 no_exit.0.preheader:		; preds = %loopentry.0
     25 	br label %no_exit.0
     26 no_exit.0:		; preds = %endif.4, %no_exit.0.preheader
     27 	br i1 false, label %then.4, label %endif.4
     28 then.4:		; preds = %no_exit.0
     29 	ret void
     30 endif.4:		; preds = %no_exit.0
     31 	br i1 false, label %no_exit.0, label %loopexit.0.loopexit
     32 loopexit.0.loopexit:		; preds = %endif.4
     33 	br label %loopexit.0
     34 loopexit.0:		; preds = %loopexit.0.loopexit, %loopentry.0
     35 	br i1 false, label %then.5, label %loopentry.1
     36 then.5:		; preds = %loopexit.0
     37 	ret void
     38 loopentry.1:		; preds = %loopexit.0
     39 	%tmp.143 = icmp sgt i32 0, 0		; <i1> [#uses=4]
     40 	br i1 %tmp.143, label %no_exit.1.preheader, label %loopexit.1
     41 no_exit.1.preheader:		; preds = %loopentry.1
     42 	br label %no_exit.1
     43 no_exit.1:		; preds = %endif.6, %no_exit.1.preheader
     44 	br i1 false, label %then.6, label %shortcirc_next.3
     45 shortcirc_next.3:		; preds = %no_exit.1
     46 	br i1 false, label %then.6, label %shortcirc_next.4
     47 shortcirc_next.4:		; preds = %shortcirc_next.3
     48 	br i1 false, label %then.6, label %endif.6
     49 then.6:		; preds = %shortcirc_next.4, %shortcirc_next.3, %no_exit.1
     50 	ret void
     51 endif.6:		; preds = %shortcirc_next.4
     52 	br i1 false, label %no_exit.1, label %loopexit.1.loopexit
     53 loopexit.1.loopexit:		; preds = %endif.6
     54 	br label %loopexit.1
     55 loopexit.1:		; preds = %loopexit.1.loopexit, %loopentry.1
     56 	br i1 false, label %then.i, label %loopentry.0.i
     57 then.i:		; preds = %loopexit.1
     58 	ret void
     59 loopentry.0.i:		; preds = %loopexit.1
     60 	br i1 %tmp.143, label %no_exit.0.i.preheader, label %readvector.exit
     61 no_exit.0.i.preheader:		; preds = %loopentry.0.i
     62 	br label %no_exit.0.i
     63 no_exit.0.i:		; preds = %loopexit.1.i, %no_exit.0.i.preheader
     64 	br i1 false, label %no_exit.1.i.preheader, label %loopexit.1.i
     65 no_exit.1.i.preheader:		; preds = %no_exit.0.i
     66 	br label %no_exit.1.i
     67 no_exit.1.i:		; preds = %loopexit.2.i, %no_exit.1.i.preheader
     68 	br i1 false, label %no_exit.2.i.preheader, label %loopexit.2.i
     69 no_exit.2.i.preheader:		; preds = %no_exit.1.i
     70 	br label %no_exit.2.i
     71 no_exit.2.i:		; preds = %no_exit.2.i, %no_exit.2.i.preheader
     72 	br i1 false, label %no_exit.2.i, label %loopexit.2.i.loopexit
     73 loopexit.2.i.loopexit:		; preds = %no_exit.2.i
     74 	br label %loopexit.2.i
     75 loopexit.2.i:		; preds = %loopexit.2.i.loopexit, %no_exit.1.i
     76 	br i1 false, label %no_exit.1.i, label %loopexit.1.i.loopexit
     77 loopexit.1.i.loopexit:		; preds = %loopexit.2.i
     78 	br label %loopexit.1.i
     79 loopexit.1.i:		; preds = %loopexit.1.i.loopexit, %no_exit.0.i
     80 	br i1 false, label %no_exit.0.i, label %readvector.exit.loopexit
     81 readvector.exit.loopexit:		; preds = %loopexit.1.i
     82 	br label %readvector.exit
     83 readvector.exit:		; preds = %readvector.exit.loopexit, %loopentry.0.i
     84 	br i1 %tmp.143, label %loopentry.1.preheader.i, label %loopexit.0.i
     85 loopentry.1.preheader.i:		; preds = %readvector.exit
     86 	br label %loopentry.1.outer.i
     87 loopentry.1.outer.i:		; preds = %loopexit.1.i110, %loopentry.1.preheader.i
     88 	br label %loopentry.1.i85
     89 loopentry.1.i85.loopexit:		; preds = %hamming.exit16.i
     90 	br label %loopentry.1.i85
     91 loopentry.1.i85:		; preds = %loopentry.1.i85.loopexit, %loopentry.1.outer.i
     92 	br i1 false, label %no_exit.1.preheader.i, label %loopexit.1.i110.loopexit1
     93 no_exit.1.preheader.i:		; preds = %loopentry.1.i85
     94 	br label %no_exit.1.i87
     95 no_exit.1.i87:		; preds = %then.1.i107, %no_exit.1.preheader.i
     96 	br i1 false, label %no_exit.i.i101.preheader, label %hamming.exit.i104
     97 no_exit.i.i101.preheader:		; preds = %no_exit.1.i87
     98 	br label %no_exit.i.i101
     99 no_exit.i.i101:		; preds = %no_exit.i.i101, %no_exit.i.i101.preheader
    100 	br i1 false, label %no_exit.i.i101, label %hamming.exit.i104.loopexit
    101 hamming.exit.i104.loopexit:		; preds = %no_exit.i.i101
    102 	br label %hamming.exit.i104
    103 hamming.exit.i104:		; preds = %hamming.exit.i104.loopexit, %no_exit.1.i87
    104 	br i1 false, label %no_exit.i15.i.preheader, label %hamming.exit16.i
    105 no_exit.i15.i.preheader:		; preds = %hamming.exit.i104
    106 	br label %no_exit.i15.i
    107 no_exit.i15.i:		; preds = %no_exit.i15.i, %no_exit.i15.i.preheader
    108 	br i1 false, label %no_exit.i15.i, label %hamming.exit16.i.loopexit
    109 hamming.exit16.i.loopexit:		; preds = %no_exit.i15.i
    110 	br label %hamming.exit16.i
    111 hamming.exit16.i:		; preds = %hamming.exit16.i.loopexit, %hamming.exit.i104
    112 	br i1 false, label %loopentry.1.i85.loopexit, label %then.1.i107
    113 then.1.i107:		; preds = %hamming.exit16.i
    114 	br i1 false, label %no_exit.1.i87, label %loopexit.1.i110.loopexit
    115 loopexit.1.i110.loopexit:		; preds = %then.1.i107
    116 	br label %loopexit.1.i110
    117 loopexit.1.i110.loopexit1:		; preds = %loopentry.1.i85
    118 	br label %loopexit.1.i110
    119 loopexit.1.i110:		; preds = %loopexit.1.i110.loopexit1, %loopexit.1.i110.loopexit
    120 	br i1 false, label %loopentry.1.outer.i, label %loopexit.0.i.loopexit
    121 loopexit.0.i.loopexit:		; preds = %loopexit.1.i110
    122 	br label %loopexit.0.i
    123 loopexit.0.i:		; preds = %loopexit.0.i.loopexit, %readvector.exit
    124 	br i1 false, label %UnifiedReturnBlock.i113, label %then.2.i112
    125 then.2.i112:		; preds = %loopexit.0.i
    126 	br label %checkham.exit
    127 UnifiedReturnBlock.i113:		; preds = %loopexit.0.i
    128 	br label %checkham.exit
    129 checkham.exit:		; preds = %UnifiedReturnBlock.i113, %then.2.i112
    130 	br i1 false, label %loopentry.1.i14.preheader, label %loopentry.3.i.preheader
    131 loopentry.1.i14.preheader:		; preds = %checkham.exit
    132 	br label %loopentry.1.i14
    133 loopentry.1.i14:		; preds = %loopexit.1.i18, %loopentry.1.i14.preheader
    134 	br i1 false, label %no_exit.1.i16.preheader, label %loopexit.1.i18
    135 no_exit.1.i16.preheader:		; preds = %loopentry.1.i14
    136 	br label %no_exit.1.i16
    137 no_exit.1.i16:		; preds = %no_exit.1.i16, %no_exit.1.i16.preheader
    138 	br i1 false, label %no_exit.1.i16, label %loopexit.1.i18.loopexit
    139 loopexit.1.i18.loopexit:		; preds = %no_exit.1.i16
    140 	br label %loopexit.1.i18
    141 loopexit.1.i18:		; preds = %loopexit.1.i18.loopexit, %loopentry.1.i14
    142 	br i1 false, label %loopentry.1.i14, label %loopentry.3.i.loopexit
    143 loopentry.3.i.loopexit:		; preds = %loopexit.1.i18
    144 	br label %loopentry.3.i.preheader
    145 loopentry.3.i.preheader:		; preds = %loopentry.3.i.loopexit, %checkham.exit
    146 	br label %loopentry.3.i
    147 loopentry.3.i:		; preds = %endif.1.i, %loopentry.3.i.preheader
    148 	br i1 false, label %loopentry.4.i.preheader, label %endif.1.i
    149 loopentry.4.i.preheader:		; preds = %loopentry.3.i
    150 	br label %loopentry.4.i
    151 loopentry.4.i:		; preds = %loopexit.4.i, %loopentry.4.i.preheader
    152 	br i1 false, label %no_exit.4.i.preheader, label %loopexit.4.i
    153 no_exit.4.i.preheader:		; preds = %loopentry.4.i
    154 	br label %no_exit.4.i
    155 no_exit.4.i:		; preds = %no_exit.4.i.backedge, %no_exit.4.i.preheader
    156 	br i1 false, label %endif.0.i, label %else.i
    157 else.i:		; preds = %no_exit.4.i
    158 	br i1 false, label %no_exit.4.i.backedge, label %loopexit.4.i.loopexit
    159 no_exit.4.i.backedge:		; preds = %endif.0.i, %else.i
    160 	br label %no_exit.4.i
    161 endif.0.i:		; preds = %no_exit.4.i
    162 	br i1 false, label %no_exit.4.i.backedge, label %loopexit.4.i.loopexit
    163 loopexit.4.i.loopexit:		; preds = %endif.0.i, %else.i
    164 	br label %loopexit.4.i
    165 loopexit.4.i:		; preds = %loopexit.4.i.loopexit, %loopentry.4.i
    166 	br i1 false, label %loopentry.4.i, label %endif.1.i.loopexit
    167 endif.1.i.loopexit:		; preds = %loopexit.4.i
    168 	br label %endif.1.i
    169 endif.1.i:		; preds = %endif.1.i.loopexit, %loopentry.3.i
    170 	%exitcond = icmp eq i32 0, 10		; <i1> [#uses=1]
    171 	br i1 %exitcond, label %generateT.exit, label %loopentry.3.i
    172 generateT.exit:		; preds = %endif.1.i
    173 	br i1 false, label %then.0.i, label %loopentry.1.i30.preheader
    174 then.0.i:		; preds = %generateT.exit
    175 	ret void
    176 loopentry.1.i30.loopexit:		; preds = %loopexit.3.i
    177 	br label %loopentry.1.i30.backedge
    178 loopentry.1.i30.preheader:		; preds = %generateT.exit
    179 	br label %loopentry.1.i30
    180 loopentry.1.i30:		; preds = %loopentry.1.i30.backedge, %loopentry.1.i30.preheader
    181 	br i1 %tmp.143, label %no_exit.0.i31.preheader, label %loopentry.1.i30.backedge
    182 loopentry.1.i30.backedge:		; preds = %loopentry.1.i30, %loopentry.1.i30.loopexit
    183 	br label %loopentry.1.i30
    184 no_exit.0.i31.preheader:		; preds = %loopentry.1.i30
    185 	br label %no_exit.0.i31
    186 no_exit.0.i31:		; preds = %loopexit.3.i, %no_exit.0.i31.preheader
    187 	br i1 false, label %then.1.i, label %else.0.i
    188 then.1.i:		; preds = %no_exit.0.i31
    189 	br i1 undef, label %then.0.i29, label %loopentry.0.i31
    190 then.0.i29:		; preds = %then.1.i
    191 	unreachable
    192 loopentry.0.i31:		; preds = %then.1.i
    193 	br i1 false, label %no_exit.0.i38.preheader, label %loopentry.1.i.preheader
    194 no_exit.0.i38.preheader:		; preds = %loopentry.0.i31
    195 	br label %no_exit.0.i38
    196 no_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
    198 loopentry.1.i.preheader.loopexit:		; preds = %no_exit.0.i38
    199 	br label %loopentry.1.i.preheader
    200 loopentry.1.i.preheader:		; preds = %loopentry.1.i.preheader.loopexit, %loopentry.0.i31
    201 	br label %loopentry.1.i
    202 loopentry.1.i:		; preds = %endif.2.i, %loopentry.1.i.preheader
    203 	br i1 undef, label %loopentry.2.i39.preheader, label %loopexit.1.i79.loopexit2
    204 loopentry.2.i39.preheader:		; preds = %loopentry.1.i
    205 	br label %loopentry.2.i39
    206 loopentry.2.i39:		; preds = %loopexit.5.i77, %loopentry.2.i39.preheader
    207 	br i1 false, label %loopentry.3.i40.preheader, label %hamming.exit.i71
    208 loopentry.3.i40.preheader:		; preds = %loopentry.2.i39
    209 	br label %loopentry.3.i40
    210 loopentry.3.i40:		; preds = %loopexit.3.i51, %loopentry.3.i40.preheader
    211 	br i1 false, label %no_exit.3.preheader.i42, label %loopexit.3.i51
    212 no_exit.3.preheader.i42:		; preds = %loopentry.3.i40
    213 	br label %no_exit.3.i49
    214 no_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
    216 loopexit.3.i51.loopexit:		; preds = %no_exit.3.i49
    217 	br label %loopexit.3.i51
    218 loopexit.3.i51:		; preds = %loopexit.3.i51.loopexit, %loopentry.3.i40
    219 	br i1 undef, label %loopentry.3.i40, label %loopentry.4.i52
    220 loopentry.4.i52:		; preds = %loopexit.3.i51
    221 	br i1 false, label %no_exit.4.i54.preheader, label %hamming.exit.i71
    222 no_exit.4.i54.preheader:		; preds = %loopentry.4.i52
    223 	br label %no_exit.4.i54
    224 no_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
    226 then.1.i55:		; preds = %no_exit.4.i54
    227 	br i1 undef, label %no_exit.4.backedge.i, label %loopexit.4.i57
    228 no_exit.4.backedge.i:		; preds = %endif.1.i56, %then.1.i55
    229 	br label %no_exit.4.i54
    230 endif.1.i56:		; preds = %no_exit.4.i54
    231 	br i1 undef, label %no_exit.4.backedge.i, label %loopexit.4.i57
    232 loopexit.4.i57:		; preds = %endif.1.i56, %then.1.i55
    233 	br i1 false, label %no_exit.i.i69.preheader, label %hamming.exit.i71
    234 no_exit.i.i69.preheader:		; preds = %loopexit.4.i57
    235 	br label %no_exit.i.i69
    236 no_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
    238 hamming.exit.i71.loopexit:		; preds = %no_exit.i.i69
    239 	br label %hamming.exit.i71
    240 hamming.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
    242 loopentry.5.i72:		; preds = %hamming.exit.i71
    243 	br i1 false, label %shortcirc_next.i74.preheader, label %loopexit.5.i77
    244 shortcirc_next.i74.preheader:		; preds = %loopentry.5.i72
    245 	br label %shortcirc_next.i74
    246 shortcirc_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
    248 no_exit.5.i76:		; preds = %shortcirc_next.i74
    249 	br i1 undef, label %shortcirc_next.i74, label %loopexit.5.i77.loopexit
    250 loopexit.5.i77.loopexit:		; preds = %no_exit.5.i76, %shortcirc_next.i74
    251 	br label %loopexit.5.i77
    252 loopexit.5.i77:		; preds = %loopexit.5.i77.loopexit, %loopentry.5.i72
    253 	br i1 undef, label %loopentry.2.i39, label %loopexit.1.i79.loopexit
    254 endif.2.i:		; preds = %hamming.exit.i71
    255 	br label %loopentry.1.i
    256 loopexit.1.i79.loopexit:		; preds = %loopexit.5.i77
    257 	br label %loopexit.1.i79
    258 loopexit.1.i79.loopexit2:		; preds = %loopentry.1.i
    259 	br label %loopexit.1.i79
    260 loopexit.1.i79:		; preds = %loopexit.1.i79.loopexit2, %loopexit.1.i79.loopexit
    261 	br i1 undef, label %then.3.i, label %loopentry.6.i80
    262 then.3.i:		; preds = %loopexit.1.i79
    263 	br i1 false, label %no_exit.6.i82.preheader, label %run.exit
    264 loopentry.6.i80:		; preds = %loopexit.1.i79
    265 	br i1 false, label %no_exit.6.i82.preheader, label %run.exit
    266 no_exit.6.i82.preheader:		; preds = %loopentry.6.i80, %then.3.i
    267 	br label %no_exit.6.i82
    268 no_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
    270 run.exit.loopexit:		; preds = %no_exit.6.i82
    271 	br label %run.exit
    272 run.exit:		; preds = %run.exit.loopexit, %loopentry.6.i80, %then.3.i
    273 	br i1 false, label %no_exit.1.i36.preheader, label %loopentry.3.i37
    274 else.0.i:		; preds = %no_exit.0.i31
    275 	br i1 false, label %then.0.i4, label %loopentry.0.i6
    276 then.0.i4:		; preds = %else.0.i
    277 	unreachable
    278 loopentry.0.i6:		; preds = %else.0.i
    279 	br i1 false, label %no_exit.0.i8.preheader, label %loopentry.2.i.preheader
    280 no_exit.0.i8.preheader:		; preds = %loopentry.0.i6
    281 	br label %no_exit.0.i8
    282 no_exit.0.i8:		; preds = %no_exit.0.i8, %no_exit.0.i8.preheader
    283 	br i1 false, label %no_exit.0.i8, label %loopentry.2.i.preheader.loopexit
    284 loopentry.2.i.preheader.loopexit:		; preds = %no_exit.0.i8
    285 	br label %loopentry.2.i.preheader
    286 loopentry.2.i.preheader:		; preds = %loopentry.2.i.preheader.loopexit, %loopentry.0.i6
    287 	br label %loopentry.2.i
    288 loopentry.2.i:		; preds = %endif.3.i19, %loopentry.2.i.preheader
    289 	br i1 false, label %loopentry.3.i10.preheader, label %loopentry.4.i15
    290 loopentry.3.i10.preheader:		; preds = %loopentry.2.i
    291 	br label %loopentry.3.i10
    292 loopentry.3.i10:		; preds = %loopexit.3.i14, %loopentry.3.i10.preheader
    293 	br i1 false, label %no_exit.3.preheader.i, label %loopexit.3.i14
    294 no_exit.3.preheader.i:		; preds = %loopentry.3.i10
    295 	br label %no_exit.3.i12
    296 no_exit.3.i12:		; preds = %no_exit.3.i12, %no_exit.3.preheader.i
    297 	br i1 false, label %no_exit.3.i12, label %loopexit.3.i14.loopexit
    298 loopexit.3.i14.loopexit:		; preds = %no_exit.3.i12
    299 	br label %loopexit.3.i14
    300 loopexit.3.i14:		; preds = %loopexit.3.i14.loopexit, %loopentry.3.i10
    301 	br i1 false, label %loopentry.3.i10, label %loopentry.4.i15.loopexit
    302 loopentry.4.i15.loopexit:		; preds = %loopexit.3.i14
    303 	br label %loopentry.4.i15
    304 loopentry.4.i15:		; preds = %loopentry.4.i15.loopexit, %loopentry.2.i
    305 	br i1 false, label %loopentry.5.outer.i.preheader, label %loopentry.7.i
    306 loopentry.5.outer.i.preheader:		; preds = %loopentry.4.i15
    307 	br label %loopentry.5.outer.i
    308 loopentry.5.outer.i:		; preds = %loopexit.5.i, %loopentry.5.outer.i.preheader
    309 	br label %loopentry.5.i
    310 loopentry.5.i:		; preds = %endif.1.i18, %loopentry.5.outer.i
    311 	br i1 false, label %no_exit.5.i.preheader, label %loopexit.5.i.loopexit3
    312 no_exit.5.i.preheader:		; preds = %loopentry.5.i
    313 	br label %no_exit.5.i
    314 no_exit.5.i:		; preds = %then.2.i, %no_exit.5.i.preheader
    315 	br i1 false, label %loopentry.6.i, label %endif.1.i18
    316 loopentry.6.i:		; preds = %no_exit.5.i
    317 	br i1 false, label %no_exit.6.preheader.i, label %loopexit.6.i
    318 no_exit.6.preheader.i:		; preds = %loopentry.6.i
    319 	br label %no_exit.6.i
    320 no_exit.6.i:		; preds = %no_exit.6.i, %no_exit.6.preheader.i
    321 	br i1 false, label %no_exit.6.i, label %loopexit.6.i.loopexit
    322 loopexit.6.i.loopexit:		; preds = %no_exit.6.i
    323 	br label %loopexit.6.i
    324 loopexit.6.i:		; preds = %loopexit.6.i.loopexit, %loopentry.6.i
    325 	br i1 false, label %then.2.i, label %endif.1.i18
    326 then.2.i:		; preds = %loopexit.6.i
    327 	br i1 false, label %no_exit.5.i, label %loopexit.5.i.loopexit
    328 endif.1.i18:		; preds = %loopexit.6.i, %no_exit.5.i
    329 	br label %loopentry.5.i
    330 loopexit.5.i.loopexit:		; preds = %then.2.i
    331 	br label %loopexit.5.i
    332 loopexit.5.i.loopexit3:		; preds = %loopentry.5.i
    333 	br label %loopexit.5.i
    334 loopexit.5.i:		; preds = %loopexit.5.i.loopexit3, %loopexit.5.i.loopexit
    335 	br i1 false, label %loopentry.5.outer.i, label %loopentry.7.i.loopexit
    336 loopentry.7.i.loopexit:		; preds = %loopexit.5.i
    337 	br label %loopentry.7.i
    338 loopentry.7.i:		; preds = %loopentry.7.i.loopexit, %loopentry.4.i15
    339 	br i1 false, label %no_exit.7.i.preheader, label %hamming.exit.i
    340 no_exit.7.i.preheader:		; preds = %loopentry.7.i
    341 	br label %no_exit.7.i
    342 no_exit.7.i:		; preds = %no_exit.7.i, %no_exit.7.i.preheader
    343 	br i1 false, label %no_exit.7.i, label %loopexit.7.i
    344 loopexit.7.i:		; preds = %no_exit.7.i
    345 	br i1 false, label %no_exit.i.i.preheader, label %hamming.exit.i
    346 no_exit.i.i.preheader:		; preds = %loopexit.7.i
    347 	br label %no_exit.i.i
    348 no_exit.i.i:		; preds = %no_exit.i.i, %no_exit.i.i.preheader
    349 	br i1 false, label %no_exit.i.i, label %hamming.exit.i.loopexit
    350 hamming.exit.i.loopexit:		; preds = %no_exit.i.i
    351 	br label %hamming.exit.i
    352 hamming.exit.i:		; preds = %hamming.exit.i.loopexit, %loopexit.7.i, %loopentry.7.i
    353 	br i1 false, label %endif.3.i19, label %loopentry.8.i
    354 loopentry.8.i:		; preds = %hamming.exit.i
    355 	br i1 false, label %shortcirc_next.i.preheader, label %loopexit.8.i
    356 shortcirc_next.i.preheader:		; preds = %loopentry.8.i
    357 	br label %shortcirc_next.i
    358 shortcirc_next.i:		; preds = %no_exit.8.i, %shortcirc_next.i.preheader
    359 	br i1 false, label %no_exit.8.i, label %loopexit.8.i.loopexit
    360 no_exit.8.i:		; preds = %shortcirc_next.i
    361 	br i1 false, label %shortcirc_next.i, label %loopexit.8.i.loopexit
    362 loopexit.8.i.loopexit:		; preds = %no_exit.8.i, %shortcirc_next.i
    363 	br label %loopexit.8.i
    364 loopexit.8.i:		; preds = %loopexit.8.i.loopexit, %loopentry.8.i
    365 	br i1 false, label %no_exit.9.i.preheader, label %endif.3.i19
    366 no_exit.9.i.preheader:		; preds = %loopexit.8.i
    367 	br label %no_exit.9.i
    368 no_exit.9.i:		; preds = %no_exit.9.i, %no_exit.9.i.preheader
    369 	br i1 false, label %no_exit.9.i, label %endif.3.i19.loopexit
    370 endif.3.i19.loopexit:		; preds = %no_exit.9.i
    371 	br label %endif.3.i19
    372 endif.3.i19:		; preds = %endif.3.i19.loopexit, %loopexit.8.i, %hamming.exit.i
    373 	br i1 false, label %loopentry.2.i, label %loopexit.1.i20
    374 loopexit.1.i20:		; preds = %endif.3.i19
    375 	br i1 false, label %then.4.i, label %UnifiedReturnBlock.i
    376 then.4.i:		; preds = %loopexit.1.i20
    377 	br label %runcont.exit
    378 UnifiedReturnBlock.i:		; preds = %loopexit.1.i20
    379 	br label %runcont.exit
    380 runcont.exit:		; preds = %UnifiedReturnBlock.i, %then.4.i
    381 	br i1 false, label %no_exit.1.i36.preheader, label %loopentry.3.i37
    382 no_exit.1.i36.preheader:		; preds = %runcont.exit, %run.exit
    383 	br label %no_exit.1.i36
    384 no_exit.1.i36:		; preds = %no_exit.1.i36, %no_exit.1.i36.preheader
    385 	br i1 false, label %no_exit.1.i36, label %loopentry.3.i37.loopexit
    386 loopentry.3.i37.loopexit:		; preds = %no_exit.1.i36
    387 	br label %loopentry.3.i37
    388 loopentry.3.i37:		; preds = %loopentry.3.i37.loopexit, %runcont.exit, %run.exit
    389 	br i1 false, label %loopentry.4.i38.preheader, label %loopexit.3.i
    390 loopentry.4.i38.preheader:		; preds = %loopentry.3.i37
    391 	br label %loopentry.4.i38
    392 loopentry.4.i38:		; preds = %loopexit.4.i42, %loopentry.4.i38.preheader
    393 	br i1 false, label %no_exit.3.i.preheader, label %loopexit.4.i42
    394 no_exit.3.i.preheader:		; preds = %loopentry.4.i38
    395 	br label %no_exit.3.i
    396 no_exit.3.i:		; preds = %no_exit.3.i.backedge, %no_exit.3.i.preheader
    397 	br i1 false, label %endif.3.i, label %else.1.i
    398 else.1.i:		; preds = %no_exit.3.i
    399 	br i1 false, label %no_exit.3.i.backedge, label %loopexit.4.i42.loopexit
    400 no_exit.3.i.backedge:		; preds = %endif.3.i, %else.1.i
    401 	br label %no_exit.3.i
    402 endif.3.i:		; preds = %no_exit.3.i
    403 	br i1 false, label %no_exit.3.i.backedge, label %loopexit.4.i42.loopexit
    404 loopexit.4.i42.loopexit:		; preds = %endif.3.i, %else.1.i
    405 	br label %loopexit.4.i42
    406 loopexit.4.i42:		; preds = %loopexit.4.i42.loopexit, %loopentry.4.i38
    407 	br i1 false, label %loopentry.4.i38, label %loopexit.3.i.loopexit
    408 loopexit.3.i.loopexit:		; preds = %loopexit.4.i42
    409 	br label %loopexit.3.i
    410 loopexit.3.i:		; preds = %loopexit.3.i.loopexit, %loopentry.3.i37
    411 	%tmp.13.i155 = icmp slt i32 0, 0		; <i1> [#uses=1]
    412 	br i1 %tmp.13.i155, label %no_exit.0.i31, label %loopentry.1.i30.loopexit
    413 }
    414