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