1; RUN: opt < %s -disable-output -loop-unroll
2; PR1770
3; PR1947
4
5	%struct.cl_engine = type { i32, i16, i32, i8**, i8**, i8*, i8*, i8*, i8*, i8*, i8*, i8* }
6	%struct.cl_limits = type { i32, i32, i32, i32, i16, i64 }
7	%struct.cli_ac_alt = type { i8, i8*, i16, i16, %struct.cli_ac_alt* }
8	%struct.cli_ac_node = type { i8, i8, %struct.cli_ac_patt*, %struct.cli_ac_node**, %struct.cli_ac_node* }
9	%struct.cli_ac_patt = type { i16*, i16*, i16, i16, i8, i32, i32, i8*, i8*, i32, i16, i16, i16, i16, %struct.cli_ac_alt**, i8, i16, %struct.cli_ac_patt*, %struct.cli_ac_patt* }
10	%struct.cli_bm_patt = type { i8*, i32, i8*, i8*, i8, %struct.cli_bm_patt* }
11	%struct.cli_ctx = type { i8**, i64*, %struct.cli_matcher*, %struct.cl_engine*, %struct.cl_limits*, i32, i32, i32, i32, %struct.cli_dconf* }
12	%struct.cli_dconf = type { i32, i32, i32, i32, i32, i32, i32 }
13	%struct.cli_matcher = type { i16, i8, i32*, %struct.cli_bm_patt**, i32*, i32, i8, i8, %struct.cli_ac_node*, %struct.cli_ac_node**, %struct.cli_ac_patt**, i32, i32, i32 }
14
15declare i8* @calloc(i64, i64)
16
17define fastcc i32 @cli_scanpe(i32 %desc, %struct.cli_ctx* %ctx) {
18entry:
19	br i1 false, label %cond_next17, label %cond_true14
20
21cond_true14:		; preds = %entry
22	ret i32 0
23
24cond_next17:		; preds = %entry
25	br i1 false, label %LeafBlock, label %LeafBlock1250
26
27LeafBlock1250:		; preds = %cond_next17
28	ret i32 0
29
30LeafBlock:		; preds = %cond_next17
31	br i1 false, label %cond_next33, label %cond_true30
32
33cond_true30:		; preds = %LeafBlock
34	ret i32 0
35
36cond_next33:		; preds = %LeafBlock
37	br i1 false, label %cond_next90, label %cond_true42
38
39cond_true42:		; preds = %cond_next33
40	ret i32 0
41
42cond_next90:		; preds = %cond_next33
43	br i1 false, label %cond_next100, label %cond_true97
44
45cond_true97:		; preds = %cond_next90
46	ret i32 0
47
48cond_next100:		; preds = %cond_next90
49	br i1 false, label %cond_next109, label %cond_true106
50
51cond_true106:		; preds = %cond_next100
52	ret i32 0
53
54cond_next109:		; preds = %cond_next100
55	br i1 false, label %cond_false, label %cond_true118
56
57cond_true118:		; preds = %cond_next109
58	ret i32 0
59
60cond_false:		; preds = %cond_next109
61	br i1 false, label %NodeBlock1482, label %cond_true126
62
63cond_true126:		; preds = %cond_false
64	ret i32 0
65
66NodeBlock1482:		; preds = %cond_false
67	br i1 false, label %cond_next285, label %NodeBlock1480
68
69NodeBlock1480:		; preds = %NodeBlock1482
70	ret i32 0
71
72cond_next285:		; preds = %NodeBlock1482
73	br i1 false, label %cond_next320, label %cond_true294
74
75cond_true294:		; preds = %cond_next285
76	ret i32 0
77
78cond_next320:		; preds = %cond_next285
79	br i1 false, label %LeafBlock1491, label %LeafBlock1493
80
81LeafBlock1493:		; preds = %cond_next320
82	ret i32 0
83
84LeafBlock1491:		; preds = %cond_next320
85	br i1 false, label %cond_true400, label %cond_true378
86
87cond_true378:		; preds = %LeafBlock1491
88	ret i32 1
89
90cond_true400:		; preds = %LeafBlock1491
91	br i1 false, label %cond_next413, label %cond_true406
92
93cond_true406:		; preds = %cond_true400
94	ret i32 0
95
96cond_next413:		; preds = %cond_true400
97	br i1 false, label %cond_next429, label %cond_true424
98
99cond_true424:		; preds = %cond_next413
100	ret i32 0
101
102cond_next429:		; preds = %cond_next413
103	br i1 false, label %NodeBlock1557, label %NodeBlock1579
104
105NodeBlock1579:		; preds = %cond_next429
106	ret i32 0
107
108NodeBlock1557:		; preds = %cond_next429
109	br i1 false, label %LeafBlock1543, label %NodeBlock1555
110
111NodeBlock1555:		; preds = %NodeBlock1557
112	ret i32 0
113
114LeafBlock1543:		; preds = %NodeBlock1557
115	br i1 false, label %cond_next870, label %cond_next663
116
117cond_next663:		; preds = %LeafBlock1543
118	ret i32 0
119
120cond_next870:		; preds = %LeafBlock1543
121	br i1 false, label %cond_true1012, label %cond_true916
122
123cond_true916:		; preds = %cond_next870
124	ret i32 0
125
126cond_true1012:		; preds = %cond_next870
127	br i1 false, label %cond_next3849, label %cond_true2105
128
129cond_true2105:		; preds = %cond_true1012
130	ret i32 0
131
132cond_next3849:		; preds = %cond_true1012
133	br i1 false, label %cond_next4378, label %bb6559
134
135bb3862:		; preds = %cond_next4385
136	br i1 false, label %cond_false3904, label %cond_true3876
137
138cond_true3876:		; preds = %bb3862
139	ret i32 0
140
141cond_false3904:		; preds = %bb3862
142	br i1 false, label %cond_next4003, label %cond_true3935
143
144cond_true3935:		; preds = %cond_false3904
145	ret i32 0
146
147cond_next4003:		; preds = %cond_false3904
148	br i1 false, label %cond_next5160, label %cond_next4015
149
150cond_next4015:		; preds = %cond_next4003
151	ret i32 0
152
153cond_next4378:		; preds = %cond_next3849
154	br i1 false, label %cond_next4385, label %bb4393
155
156cond_next4385:		; preds = %cond_next4378
157	br i1 false, label %bb3862, label %bb4393
158
159bb4393:		; preds = %cond_next4385, %cond_next4378
160	ret i32 0
161
162cond_next5160:		; preds = %cond_next4003
163	br i1 false, label %bb5188, label %bb6559
164
165bb5188:		; preds = %cond_next5160
166	br i1 false, label %cond_next5285, label %cond_true5210
167
168cond_true5210:		; preds = %bb5188
169	ret i32 0
170
171cond_next5285:		; preds = %bb5188
172	br i1 false, label %cond_true5302, label %cond_true5330
173
174cond_true5302:		; preds = %cond_next5285
175	br i1 false, label %bb7405, label %bb7367
176
177cond_true5330:		; preds = %cond_next5285
178	ret i32 0
179
180bb6559:		; preds = %cond_next5160, %cond_next3849
181	ret i32 0
182
183bb7367:		; preds = %cond_true5302
184	ret i32 0
185
186bb7405:		; preds = %cond_true5302
187	br i1 false, label %cond_next8154, label %cond_true7410
188
189cond_true7410:		; preds = %bb7405
190	ret i32 0
191
192cond_next8154:		; preds = %bb7405
193	br i1 false, label %cond_true8235, label %bb9065
194
195cond_true8235:		; preds = %cond_next8154
196	br i1 false, label %bb8274, label %bb8245
197
198bb8245:		; preds = %cond_true8235
199	ret i32 0
200
201bb8274:		; preds = %cond_true8235
202	br i1 false, label %cond_next8358, label %cond_true8295
203
204cond_true8295:		; preds = %bb8274
205	ret i32 0
206
207cond_next8358:		; preds = %bb8274
208	br i1 false, label %cond_next.i509, label %cond_true8371
209
210cond_true8371:		; preds = %cond_next8358
211	ret i32 -123
212
213cond_next.i509:		; preds = %cond_next8358
214	br i1 false, label %bb36.i, label %bb33.i
215
216bb33.i:		; preds = %cond_next.i509
217	ret i32 0
218
219bb36.i:		; preds = %cond_next.i509
220	br i1 false, label %cond_next54.i, label %cond_true51.i
221
222cond_true51.i:		; preds = %bb36.i
223	ret i32 0
224
225cond_next54.i:		; preds = %bb36.i
226	%tmp10.i.i527 = call i8* @calloc( i64 0, i64 1 )		; <i8*> [#uses=1]
227	br i1 false, label %cond_next11.i.i, label %bb132.i
228
229bb132.i:		; preds = %cond_next54.i
230	ret i32 0
231
232cond_next11.i.i:		; preds = %cond_next54.i
233	br i1 false, label %bb32.i.i545, label %cond_true1008.critedge.i
234
235bb32.i.i545:		; preds = %cond_next11.i.i
236	br i1 false, label %cond_next349.i, label %cond_true184.i
237
238cond_true184.i:		; preds = %bb32.i.i545
239	ret i32 0
240
241cond_next349.i:		; preds = %bb32.i.i545
242	br i1 false, label %cond_next535.i, label %cond_true1008.critedge1171.i
243
244cond_next535.i:		; preds = %cond_next349.i
245	br i1 false, label %cond_next569.i, label %cond_false574.i
246
247cond_next569.i:		; preds = %cond_next535.i
248	br i1 false, label %cond_next670.i, label %cond_true1008.critedge1185.i
249
250cond_false574.i:		; preds = %cond_next535.i
251	ret i32 0
252
253cond_next670.i:		; preds = %cond_next569.i
254	br i1 false, label %cond_true692.i, label %cond_next862.i
255
256cond_true692.i:		; preds = %cond_next670.i
257	br i1 false, label %cond_false742.i, label %cond_true718.i
258
259cond_true718.i:		; preds = %cond_true692.i
260	ret i32 0
261
262cond_false742.i:		; preds = %cond_true692.i
263	br i1 false, label %cond_true784.i, label %cond_next9079
264
265cond_true784.i:		; preds = %cond_next811.i, %cond_false742.i
266	%indvar1411.i.reg2mem.0 = phi i8 [ %indvar.next1412.i, %cond_next811.i ], [ 0, %cond_false742.i ]		; <i8> [#uses=1]
267	br i1 false, label %cond_true1008.critedge1190.i, label %cond_next811.i
268
269cond_next811.i:		; preds = %cond_true784.i
270	%indvar.next1412.i = add i8 %indvar1411.i.reg2mem.0, 1		; <i8> [#uses=2]
271	%tmp781.i = icmp eq i8 %indvar.next1412.i, 3		; <i1> [#uses=1]
272	br i1 %tmp781.i, label %cond_next9079, label %cond_true784.i
273
274cond_next862.i:		; preds = %cond_next670.i
275	ret i32 0
276
277cond_true1008.critedge.i:		; preds = %cond_next11.i.i
278	ret i32 0
279
280cond_true1008.critedge1171.i:		; preds = %cond_next349.i
281	ret i32 0
282
283cond_true1008.critedge1185.i:		; preds = %cond_next569.i
284	ret i32 0
285
286cond_true1008.critedge1190.i:		; preds = %cond_true784.i
287	%tmp621.i532.lcssa610 = phi i8* [ %tmp10.i.i527, %cond_true784.i ]		; <i8*> [#uses=0]
288	ret i32 0
289
290bb9065:		; preds = %cond_next8154
291	ret i32 0
292
293cond_next9079:		; preds = %cond_next811.i, %cond_false742.i
294	ret i32 0
295}
296