Home | History | Annotate | Download | only in LCSSA
      1 ; RUN: opt < %s -lcssa -disable-output
      2 ; PR977
      3 ; END.
      4 
      5 define void @process_backlog() {
      6 entry:
      7 	br label %loopentry.preheader
      8 loopentry.preheader:		; preds = %dead_block_after_break, %entry
      9 	%work.0.ph = phi i32 [ %inc, %dead_block_after_break ], [ 0, %entry ]		; <i32> [#uses=0]
     10 	br label %loopentry
     11 loopentry:		; preds = %endif.1, %loopentry.preheader
     12 	br i1 false, label %then.i, label %loopentry.__skb_dequeue67.exit_crit_edge
     13 loopentry.__skb_dequeue67.exit_crit_edge:		; preds = %loopentry
     14 	br label %__skb_dequeue67.exit
     15 then.i:		; preds = %loopentry
     16 	br label %__skb_dequeue67.exit
     17 __skb_dequeue67.exit:		; preds = %then.i, %loopentry.__skb_dequeue67.exit_crit_edge
     18 	br i1 false, label %then.0, label %__skb_dequeue67.exit.endif.0_crit_edge
     19 __skb_dequeue67.exit.endif.0_crit_edge:		; preds = %__skb_dequeue67.exit
     20 	br label %endif.0
     21 then.0:		; preds = %__skb_dequeue67.exit
     22 	br label %job_done
     23 dead_block_after_goto:		; No predecessors!
     24 	unreachable
     25 endif.0:		; preds = %__skb_dequeue67.exit.endif.0_crit_edge
     26 	br i1 false, label %then.0.i, label %endif.0.endif.0.i_crit_edge
     27 endif.0.endif.0.i_crit_edge:		; preds = %endif.0
     28 	br label %endif.0.i
     29 then.0.i:		; preds = %endif.0
     30 	br label %endif.0.i
     31 endif.0.i:		; preds = %then.0.i, %endif.0.endif.0.i_crit_edge
     32 	br i1 false, label %then.i.i, label %endif.0.i.skb_bond.exit.i_crit_edge
     33 endif.0.i.skb_bond.exit.i_crit_edge:		; preds = %endif.0.i
     34 	br label %skb_bond.exit.i
     35 then.i.i:		; preds = %endif.0.i
     36 	br label %skb_bond.exit.i
     37 skb_bond.exit.i:		; preds = %then.i.i, %endif.0.i.skb_bond.exit.i_crit_edge
     38 	br label %loopentry.0.i
     39 loopentry.0.i:		; preds = %loopentry.0.i.backedge, %skb_bond.exit.i
     40 	br i1 false, label %loopentry.0.i.no_exit.0.i_crit_edge, label %loopentry.0.i.loopexit.0.i_crit_edge
     41 loopentry.0.i.loopexit.0.i_crit_edge:		; preds = %loopentry.0.i
     42 	br label %loopexit.0.i
     43 loopentry.0.i.no_exit.0.i_crit_edge:		; preds = %loopentry.0.i
     44 	br label %no_exit.0.i
     45 no_exit.0.i:		; preds = %then.3.i.no_exit.0.i_crit_edge, %loopentry.0.i.no_exit.0.i_crit_edge
     46 	br i1 false, label %no_exit.0.i.shortcirc_done.0.i_crit_edge, label %shortcirc_next.0.i
     47 no_exit.0.i.shortcirc_done.0.i_crit_edge:		; preds = %no_exit.0.i
     48 	br label %shortcirc_done.0.i
     49 shortcirc_next.0.i:		; preds = %no_exit.0.i
     50 	br label %shortcirc_done.0.i
     51 shortcirc_done.0.i:		; preds = %shortcirc_next.0.i, %no_exit.0.i.shortcirc_done.0.i_crit_edge
     52 	br i1 false, label %then.1.i, label %endif.1.i
     53 then.1.i:		; preds = %shortcirc_done.0.i
     54 	br i1 false, label %then.2.i, label %then.1.i.endif.2.i_crit_edge
     55 then.1.i.endif.2.i_crit_edge:		; preds = %then.1.i
     56 	br label %endif.2.i
     57 then.2.i:		; preds = %then.1.i
     58 	br i1 false, label %then.3.i, label %else.0.i
     59 then.3.i:		; preds = %then.2.i
     60 	br i1 false, label %then.3.i.no_exit.0.i_crit_edge, label %then.3.i.loopexit.0.i_crit_edge
     61 then.3.i.loopexit.0.i_crit_edge:		; preds = %then.3.i
     62 	br label %loopexit.0.i
     63 then.3.i.no_exit.0.i_crit_edge:		; preds = %then.3.i
     64 	br label %no_exit.0.i
     65 else.0.i:		; preds = %then.2.i
     66 	br label %endif.2.i
     67 endif.3.i:		; No predecessors!
     68 	unreachable
     69 endif.2.i:		; preds = %else.0.i, %then.1.i.endif.2.i_crit_edge
     70 	br label %loopentry.0.i.backedge
     71 endif.1.i:		; preds = %shortcirc_done.0.i
     72 	br label %loopentry.0.i.backedge
     73 loopentry.0.i.backedge:		; preds = %endif.1.i, %endif.2.i
     74 	br label %loopentry.0.i
     75 loopexit.0.i:		; preds = %then.3.i.loopexit.0.i_crit_edge, %loopentry.0.i.loopexit.0.i_crit_edge
     76 	br label %loopentry.1.i
     77 loopentry.1.i:		; preds = %loopentry.1.i.backedge, %loopexit.0.i
     78 	br i1 false, label %loopentry.1.i.no_exit.1.i_crit_edge, label %loopentry.1.i.loopexit.1.i_crit_edge
     79 loopentry.1.i.loopexit.1.i_crit_edge:		; preds = %loopentry.1.i
     80 	br label %loopexit.1.i
     81 loopentry.1.i.no_exit.1.i_crit_edge:		; preds = %loopentry.1.i
     82 	br label %no_exit.1.i
     83 no_exit.1.i:		; preds = %then.6.i.no_exit.1.i_crit_edge, %loopentry.1.i.no_exit.1.i_crit_edge
     84 	br i1 false, label %shortcirc_next.1.i, label %no_exit.1.i.shortcirc_done.1.i_crit_edge
     85 no_exit.1.i.shortcirc_done.1.i_crit_edge:		; preds = %no_exit.1.i
     86 	br label %shortcirc_done.1.i
     87 shortcirc_next.1.i:		; preds = %no_exit.1.i
     88 	br i1 false, label %shortcirc_next.1.i.shortcirc_done.2.i_crit_edge, label %shortcirc_next.2.i
     89 shortcirc_next.1.i.shortcirc_done.2.i_crit_edge:		; preds = %shortcirc_next.1.i
     90 	br label %shortcirc_done.2.i
     91 shortcirc_next.2.i:		; preds = %shortcirc_next.1.i
     92 	br label %shortcirc_done.2.i
     93 shortcirc_done.2.i:		; preds = %shortcirc_next.2.i, %shortcirc_next.1.i.shortcirc_done.2.i_crit_edge
     94 	br label %shortcirc_done.1.i
     95 shortcirc_done.1.i:		; preds = %shortcirc_done.2.i, %no_exit.1.i.shortcirc_done.1.i_crit_edge
     96 	br i1 false, label %then.4.i, label %endif.4.i
     97 then.4.i:		; preds = %shortcirc_done.1.i
     98 	br i1 false, label %then.5.i, label %then.4.i.endif.5.i_crit_edge
     99 then.4.i.endif.5.i_crit_edge:		; preds = %then.4.i
    100 	br label %endif.5.i
    101 then.5.i:		; preds = %then.4.i
    102 	br i1 false, label %then.6.i, label %else.1.i
    103 then.6.i:		; preds = %then.5.i
    104 	br i1 false, label %then.6.i.no_exit.1.i_crit_edge, label %then.6.i.loopexit.1.i_crit_edge
    105 then.6.i.loopexit.1.i_crit_edge:		; preds = %then.6.i
    106 	br label %loopexit.1.i
    107 then.6.i.no_exit.1.i_crit_edge:		; preds = %then.6.i
    108 	br label %no_exit.1.i
    109 else.1.i:		; preds = %then.5.i
    110 	br label %endif.5.i
    111 endif.6.i:		; No predecessors!
    112 	unreachable
    113 endif.5.i:		; preds = %else.1.i, %then.4.i.endif.5.i_crit_edge
    114 	br label %loopentry.1.i.backedge
    115 endif.4.i:		; preds = %shortcirc_done.1.i
    116 	br label %loopentry.1.i.backedge
    117 loopentry.1.i.backedge:		; preds = %endif.4.i, %endif.5.i
    118 	br label %loopentry.1.i
    119 loopexit.1.i:		; preds = %then.6.i.loopexit.1.i_crit_edge, %loopentry.1.i.loopexit.1.i_crit_edge
    120 	br i1 false, label %then.7.i, label %else.2.i
    121 then.7.i:		; preds = %loopexit.1.i
    122 	br i1 false, label %then.8.i, label %else.3.i
    123 then.8.i:		; preds = %then.7.i
    124 	br label %netif_receive_skb.exit
    125 else.3.i:		; preds = %then.7.i
    126 	br label %netif_receive_skb.exit
    127 endif.8.i:		; No predecessors!
    128 	unreachable
    129 else.2.i:		; preds = %loopexit.1.i
    130 	br i1 false, label %else.2.i.shortcirc_done.i.i_crit_edge, label %shortcirc_next.i.i
    131 else.2.i.shortcirc_done.i.i_crit_edge:		; preds = %else.2.i
    132 	br label %shortcirc_done.i.i
    133 shortcirc_next.i.i:		; preds = %else.2.i
    134 	br label %shortcirc_done.i.i
    135 shortcirc_done.i.i:		; preds = %shortcirc_next.i.i, %else.2.i.shortcirc_done.i.i_crit_edge
    136 	br i1 false, label %then.i1.i, label %shortcirc_done.i.i.kfree_skb65.exit.i_crit_edge
    137 shortcirc_done.i.i.kfree_skb65.exit.i_crit_edge:		; preds = %shortcirc_done.i.i
    138 	br label %kfree_skb65.exit.i
    139 then.i1.i:		; preds = %shortcirc_done.i.i
    140 	br label %kfree_skb65.exit.i
    141 kfree_skb65.exit.i:		; preds = %then.i1.i, %shortcirc_done.i.i.kfree_skb65.exit.i_crit_edge
    142 	br label %netif_receive_skb.exit
    143 netif_receive_skb.exit:		; preds = %kfree_skb65.exit.i, %else.3.i, %then.8.i
    144 	br i1 false, label %then.i1, label %netif_receive_skb.exit.dev_put69.exit_crit_edge
    145 netif_receive_skb.exit.dev_put69.exit_crit_edge:		; preds = %netif_receive_skb.exit
    146 	br label %dev_put69.exit
    147 then.i1:		; preds = %netif_receive_skb.exit
    148 	br label %dev_put69.exit
    149 dev_put69.exit:		; preds = %then.i1, %netif_receive_skb.exit.dev_put69.exit_crit_edge
    150 	%inc = add i32 0, 1		; <i32> [#uses=1]
    151 	br i1 false, label %dev_put69.exit.shortcirc_done_crit_edge, label %shortcirc_next
    152 dev_put69.exit.shortcirc_done_crit_edge:		; preds = %dev_put69.exit
    153 	br label %shortcirc_done
    154 shortcirc_next:		; preds = %dev_put69.exit
    155 	br label %shortcirc_done
    156 shortcirc_done:		; preds = %shortcirc_next, %dev_put69.exit.shortcirc_done_crit_edge
    157 	br i1 false, label %then.1, label %endif.1
    158 then.1:		; preds = %shortcirc_done
    159 	ret void
    160 dead_block_after_break:		; No predecessors!
    161 	br label %loopentry.preheader
    162 endif.1:		; preds = %shortcirc_done
    163 	br label %loopentry
    164 loopexit:		; No predecessors!
    165 	unreachable
    166 after_ret.0:		; No predecessors!
    167 	br label %job_done
    168 job_done:		; preds = %after_ret.0, %then.0
    169 	br label %loopentry.i
    170 loopentry.i:		; preds = %no_exit.i, %job_done
    171 	br i1 false, label %no_exit.i, label %clear_bit62.exit
    172 no_exit.i:		; preds = %loopentry.i
    173 	br label %loopentry.i
    174 clear_bit62.exit:		; preds = %loopentry.i
    175 	br i1 false, label %then.2, label %endif.2
    176 then.2:		; preds = %clear_bit62.exit
    177 	ret void
    178 endif.2:		; preds = %clear_bit62.exit
    179 	ret void
    180 after_ret.1:		; No predecessors!
    181 	ret void
    182 return:		; No predecessors!
    183 	unreachable
    184 }
    185