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