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