Home | History | Annotate | Download | only in CodeExtractor
      1 ; RUN: opt < %s -loop-extract -disable-output
      2 
      3 define void @solve() {
      4 entry:
      5 	br label %loopentry.0
      6 
      7 loopentry.0:		; preds = %endif.0, %entry
      8 	br i1 false, label %no_exit.0, label %loopexit.0
      9 
     10 no_exit.0:		; preds = %loopentry.0
     11 	br i1 false, label %then.0, label %endif.0
     12 
     13 then.0:		; preds = %no_exit.0
     14 	br i1 false, label %shortcirc_done, label %shortcirc_next
     15 
     16 shortcirc_next:		; preds = %then.0
     17 	br label %shortcirc_done
     18 
     19 shortcirc_done:		; preds = %shortcirc_next, %then.0
     20 	br i1 false, label %then.1, label %endif.1
     21 
     22 then.1:		; preds = %shortcirc_done
     23 	br i1 false, label %cond_true, label %cond_false
     24 
     25 cond_true:		; preds = %then.1
     26 	br label %cond_continue
     27 
     28 cond_false:		; preds = %then.1
     29 	br label %cond_continue
     30 
     31 cond_continue:		; preds = %cond_false, %cond_true
     32 	br label %return
     33 
     34 after_ret.0:		; No predecessors!
     35 	br label %endif.1
     36 
     37 endif.1:		; preds = %after_ret.0, %shortcirc_done
     38 	br label %endif.0
     39 
     40 endif.0:		; preds = %endif.1, %no_exit.0
     41 	br label %loopentry.0
     42 
     43 loopexit.0:		; preds = %loopentry.0
     44 	br i1 false, label %then.2, label %endif.2
     45 
     46 then.2:		; preds = %loopexit.0
     47 	br i1 false, label %then.3, label %endif.3
     48 
     49 then.3:		; preds = %then.2
     50 	br label %return
     51 
     52 after_ret.1:		; No predecessors!
     53 	br label %endif.3
     54 
     55 endif.3:		; preds = %after_ret.1, %then.2
     56 	br label %endif.2
     57 
     58 endif.2:		; preds = %endif.3, %loopexit.0
     59 	br label %loopentry.1
     60 
     61 loopentry.1:		; preds = %no_exit.1, %endif.2
     62 	br i1 false, label %no_exit.1, label %loopexit.1
     63 
     64 no_exit.1:		; preds = %loopentry.1
     65 	br label %loopentry.1
     66 
     67 loopexit.1:		; preds = %loopentry.1
     68 	br label %return
     69 
     70 after_ret.2:		; No predecessors!
     71 	br label %return
     72 
     73 return:		; preds = %after_ret.2, %loopexit.1, %then.3, %cond_continue
     74 	ret void
     75 }
     76