blob: 2ee51e14948cde3cb6868346c583e3c2911b49a7 [file] [log] [blame]
Devang Patel9b03daa2008-02-14 23:18:47 +00001; RUN: llvm-as < %s | opt -loop-index-split -disable-output
2; PR 2030
3 %struct.FULL = type { i32, i32, [1000 x float*] }
4
5define i32 @matgen(%struct.FULL* %a, float** %x, float** %b, float** %bt, i32** %ipvt, i32 %test_case, i32 %scale) {
6entry:
7 br i1 false, label %bb, label %entry.bb30_crit_edge
8
9entry.bb30_crit_edge: ; preds = %entry
10 br label %bb30
11
12bb: ; preds = %entry
13 br label %bb14
14
15bb6: ; preds = %bb14
16 br label %bb14
17
18bb14: ; preds = %bb6, %bb
19 br i1 false, label %bb6, label %bb22
20
21bb22: ; preds = %bb14
22 br label %bb30
23
24bb30: ; preds = %bb22, %entry.bb30_crit_edge
25 switch i32 %test_case, label %bb648 [
26 i32 1, label %bb30.bb32_crit_edge
27 i32 2, label %bb30.bb32_crit_edge1
28 i32 3, label %bb30.bb32_crit_edge2
29 i32 4, label %bb30.bb108_crit_edge
30 i32 5, label %bb30.bb108_crit_edge3
31 i32 6, label %bb30.bb142_crit_edge
32 i32 7, label %bb30.bb142_crit_edge4
33 i32 8, label %bb30.bb142_crit_edge5
34 i32 9, label %bb234
35 i32 10, label %bb292
36 i32 11, label %bb353
37 i32 12, label %bb419
38 i32 13, label %bb485
39 i32 14, label %bb567
40 ]
41
42bb30.bb142_crit_edge5: ; preds = %bb30
43 br label %bb142
44
45bb30.bb142_crit_edge4: ; preds = %bb30
46 br label %bb142
47
48bb30.bb142_crit_edge: ; preds = %bb30
49 br label %bb142
50
51bb30.bb108_crit_edge3: ; preds = %bb30
52 br label %bb108
53
54bb30.bb108_crit_edge: ; preds = %bb30
55 br label %bb108
56
57bb30.bb32_crit_edge2: ; preds = %bb30
58 br label %bb32
59
60bb30.bb32_crit_edge1: ; preds = %bb30
61 br label %bb32
62
63bb30.bb32_crit_edge: ; preds = %bb30
64 br label %bb32
65
66bb32: ; preds = %bb30.bb32_crit_edge, %bb30.bb32_crit_edge1, %bb30.bb32_crit_edge2
67 br i1 false, label %bb53, label %bb52
68
69bb52: ; preds = %bb32
70 br label %bb739
71
72bb53: ; preds = %bb32
73 br label %bb101
74
75bb58: ; preds = %bb101
76 br label %bb92
77
78bb64: ; preds = %bb92
79 br i1 false, label %bb64.bb87_crit_edge, label %bb72
80
81bb64.bb87_crit_edge: ; preds = %bb64
82 br label %bb87
83
84bb72: ; preds = %bb64
85 br i1 false, label %bb72.bb87_crit_edge, label %bb79
86
87bb72.bb87_crit_edge: ; preds = %bb72
88 br label %bb87
89
90bb79: ; preds = %bb72
91 br label %bb87
92
93bb87: ; preds = %bb79, %bb72.bb87_crit_edge, %bb64.bb87_crit_edge
94 br label %bb92
95
96bb92: ; preds = %bb87, %bb58
97 br i1 false, label %bb64, label %bb98
98
99bb98: ; preds = %bb92
100 br label %bb101
101
102bb101: ; preds = %bb98, %bb53
103 br i1 false, label %bb58, label %bb107
104
105bb107: ; preds = %bb101
106 br label %bb651
107
108bb108: ; preds = %bb30.bb108_crit_edge, %bb30.bb108_crit_edge3
109 br i1 false, label %bb125, label %bb124
110
111bb124: ; preds = %bb108
112 br label %bb739
113
114bb125: ; preds = %bb108
115 br i1 false, label %bb138, label %bb139
116
117bb138: ; preds = %bb125
118 br label %bb140
119
120bb139: ; preds = %bb125
121 br label %bb140
122
123bb140: ; preds = %bb139, %bb138
124 br label %bb651
125
126bb142: ; preds = %bb30.bb142_crit_edge, %bb30.bb142_crit_edge4, %bb30.bb142_crit_edge5
127 br i1 false, label %bb161, label %bb160
128
129bb160: ; preds = %bb142
130 br label %bb739
131
132bb161: ; preds = %bb142
133 br i1 false, label %bb170, label %bb161.bb171_crit_edge
134
135bb161.bb171_crit_edge: ; preds = %bb161
136 br label %bb171
137
138bb170: ; preds = %bb161
139 br label %bb171
140
141bb171: ; preds = %bb170, %bb161.bb171_crit_edge
142 br i1 false, label %bb176, label %bb171.bb177_crit_edge
143
144bb171.bb177_crit_edge: ; preds = %bb171
145 br label %bb177
146
147bb176: ; preds = %bb171
148 br label %bb177
149
150bb177: ; preds = %bb176, %bb171.bb177_crit_edge
151 br label %bb227
152
153bb178: ; preds = %bb227
154 br label %bb218
155
156bb184: ; preds = %bb218
157 br i1 false, label %bb191, label %bb193
158
159bb191: ; preds = %bb184
160 br label %bb213
161
162bb193: ; preds = %bb184
163 br i1 false, label %bb200, label %bb203
164
165bb200: ; preds = %bb193
166 br label %bb213
167
168bb203: ; preds = %bb193
169 br i1 false, label %bb210, label %bb203.bb213_crit_edge
170
171bb203.bb213_crit_edge: ; preds = %bb203
172 br label %bb213
173
174bb210: ; preds = %bb203
175 br label %bb213
176
177bb213: ; preds = %bb210, %bb203.bb213_crit_edge, %bb200, %bb191
178 br label %bb218
179
180bb218: ; preds = %bb213, %bb178
181 br i1 false, label %bb184, label %bb224
182
183bb224: ; preds = %bb218
184 br label %bb227
185
186bb227: ; preds = %bb224, %bb177
187 br i1 false, label %bb178, label %bb233
188
189bb233: ; preds = %bb227
190 br label %bb651
191
192bb234: ; preds = %bb30
193 br i1 false, label %bb253, label %bb252
194
195bb252: ; preds = %bb234
196 br label %bb739
197
198bb253: ; preds = %bb234
199 br label %bb285
200
201bb258: ; preds = %bb285
202 br label %bb276
203
204bb264: ; preds = %bb276
205 br label %bb276
206
207bb276: ; preds = %bb264, %bb258
208 br i1 false, label %bb264, label %bb282
209
210bb282: ; preds = %bb276
211 br label %bb285
212
213bb285: ; preds = %bb282, %bb253
214 br i1 false, label %bb258, label %bb291
215
216bb291: ; preds = %bb285
217 br label %bb651
218
219bb292: ; preds = %bb30
220 br i1 false, label %bb311, label %bb310
221
222bb310: ; preds = %bb292
223 br label %bb739
224
225bb311: ; preds = %bb292
226 br label %bb346
227
228bb316: ; preds = %bb346
229 br label %bb337
230
231bb322: ; preds = %bb337
232 br label %bb337
233
234bb337: ; preds = %bb322, %bb316
235 br i1 false, label %bb322, label %bb343
236
237bb343: ; preds = %bb337
238 br label %bb346
239
240bb346: ; preds = %bb343, %bb311
241 br i1 false, label %bb316, label %bb352
242
243bb352: ; preds = %bb346
244 br label %bb651
245
246bb353: ; preds = %bb30
247 br i1 false, label %bb372, label %bb371
248
249bb371: ; preds = %bb353
250 br label %bb739
251
252bb372: ; preds = %bb353
253 br label %bb412
254
255bb377: ; preds = %bb412
256 br label %bb403
257
258bb383: ; preds = %bb403
259 br i1 false, label %bb395, label %bb389
260
261bb389: ; preds = %bb383
262 br label %bb396
263
264bb395: ; preds = %bb383
265 br label %bb396
266
267bb396: ; preds = %bb395, %bb389
268 br label %bb403
269
270bb403: ; preds = %bb396, %bb377
271 br i1 false, label %bb383, label %bb409
272
273bb409: ; preds = %bb403
274 br label %bb412
275
276bb412: ; preds = %bb409, %bb372
277 br i1 false, label %bb377, label %bb418
278
279bb418: ; preds = %bb412
280 br label %bb651
281
282bb419: ; preds = %bb30
283 br i1 false, label %bb438, label %bb437
284
285bb437: ; preds = %bb419
286 br label %bb739
287
288bb438: ; preds = %bb419
289 br label %bb478
290
291bb443: ; preds = %bb478
292 br label %bb469
293
294bb449: ; preds = %bb469
295 br i1 false, label %bb461, label %bb455
296
297bb455: ; preds = %bb449
298 br label %bb462
299
300bb461: ; preds = %bb449
301 br label %bb462
302
303bb462: ; preds = %bb461, %bb455
304 br label %bb469
305
306bb469: ; preds = %bb462, %bb443
307 br i1 false, label %bb449, label %bb475
308
309bb475: ; preds = %bb469
310 br label %bb478
311
312bb478: ; preds = %bb475, %bb438
313 br i1 false, label %bb443, label %bb484
314
315bb484: ; preds = %bb478
316 br label %bb651
317
318bb485: ; preds = %bb30
319 br i1 false, label %bb504, label %bb503
320
321bb503: ; preds = %bb485
322 br label %bb739
323
324bb504: ; preds = %bb485
325 br label %bb560
326
327bb513: ; preds = %bb560
328 br label %bb551
329
330bb519: ; preds = %bb551
331 br i1 false, label %bb528, label %bb532
332
333bb528: ; preds = %bb519
334 br label %bb536
335
336bb532: ; preds = %bb519
337 br label %bb536
338
339bb536: ; preds = %bb532, %bb528
340 br label %bb551
341
342bb551: ; preds = %bb536, %bb513
343 br i1 false, label %bb519, label %bb557
344
345bb557: ; preds = %bb551
346 br label %bb560
347
348bb560: ; preds = %bb557, %bb504
349 br i1 false, label %bb513, label %bb566
350
351bb566: ; preds = %bb560
352 br label %bb651
353
354bb567: ; preds = %bb30
355 br i1 false, label %bb586, label %bb585
356
357bb585: ; preds = %bb567
358 br label %bb739
359
360bb586: ; preds = %bb567
361 br label %bb641
362
363bb595: ; preds = %bb641
364 br label %bb632
365
366bb601: ; preds = %bb632
367 %tmp604 = icmp sgt i32 %i.7, 0 ; <i1> [#uses=1]
368 br i1 %tmp604, label %bb607, label %bb611
369
370bb607: ; preds = %bb601
371 br label %bb615
372
373bb611: ; preds = %bb601
374 br label %bb615
375
376bb615: ; preds = %bb611, %bb607
377 %tmp629 = add i32 %i.7, 1 ; <i32> [#uses=1]
378 %tmp631 = getelementptr float* %col.7, i32 1 ; <float*> [#uses=1]
379 br label %bb632
380
381bb632: ; preds = %bb615, %bb595
382 %col.7 = phi float* [ null, %bb595 ], [ %tmp631, %bb615 ] ; <float*> [#uses=1]
383 %i.7 = phi i32 [ 0, %bb595 ], [ %tmp629, %bb615 ] ; <i32> [#uses=3]
384 %tmp635 = icmp slt i32 %i.7, 0 ; <i1> [#uses=1]
385 br i1 %tmp635, label %bb601, label %bb638
386
387bb638: ; preds = %bb632
388 br label %bb641
389
390bb641: ; preds = %bb638, %bb586
391 br i1 false, label %bb595, label %bb647
392
393bb647: ; preds = %bb641
394 br label %bb651
395
396bb648: ; preds = %bb30
397 br label %bb739
398
399bb651: ; preds = %bb647, %bb566, %bb484, %bb418, %bb352, %bb291, %bb233, %bb140, %bb107
400 br i1 false, label %bb658, label %bb651.bb661_crit_edge
401
402bb651.bb661_crit_edge: ; preds = %bb651
403 br label %bb661
404
405bb658: ; preds = %bb651
406 br label %bb661
407
408bb661: ; preds = %bb658, %bb651.bb661_crit_edge
409 br i1 false, label %bb666, label %bb661.bb686_crit_edge
410
411bb661.bb686_crit_edge: ; preds = %bb661
412 br label %bb686
413
414bb666: ; preds = %bb661
415 br label %bb680
416
417bb670: ; preds = %bb680
418 br label %bb680
419
420bb680: ; preds = %bb670, %bb666
421 br i1 false, label %bb670, label %bb680.bb686_crit_edge
422
423bb680.bb686_crit_edge: ; preds = %bb680
424 br label %bb686
425
426bb686: ; preds = %bb680.bb686_crit_edge, %bb661.bb686_crit_edge
427 br i1 false, label %bb699, label %bb696
428
429bb696: ; preds = %bb686
430 br label %bb739
431
432bb699: ; preds = %bb686
433 br i1 false, label %bb712, label %bb709
434
435bb709: ; preds = %bb699
436 br label %bb739
437
438bb712: ; preds = %bb699
439 br i1 false, label %bb717, label %bb712.bb720_crit_edge
440
441bb712.bb720_crit_edge: ; preds = %bb712
442 br label %bb720
443
444bb717: ; preds = %bb712
445 br label %bb720
446
447bb720: ; preds = %bb717, %bb712.bb720_crit_edge
448 br i1 false, label %bb725, label %bb720.bb738_crit_edge
449
450bb720.bb738_crit_edge: ; preds = %bb720
451 br label %bb738
452
453bb725: ; preds = %bb720
454 br label %bb738
455
456bb738: ; preds = %bb725, %bb720.bb738_crit_edge
457 br label %bb739
458
459bb739: ; preds = %bb738, %bb709, %bb696, %bb648, %bb585, %bb503, %bb437, %bb371, %bb310, %bb252, %bb160, %bb124, %bb52
460 br label %return
461
462return: ; preds = %bb739
463 ret i32 0
464}