aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/LoopIndexSplit/2008-02-14-Crash.ll
blob: 2ee51e14948cde3cb6868346c583e3c2911b49a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
; RUN: llvm-as < %s | opt -loop-index-split -disable-output
; PR 2030
	%struct.FULL = type { i32, i32, [1000 x float*] }

define i32 @matgen(%struct.FULL* %a, float** %x, float** %b, float** %bt, i32** %ipvt, i32 %test_case, i32 %scale) {
entry:
	br i1 false, label %bb, label %entry.bb30_crit_edge

entry.bb30_crit_edge:		; preds = %entry
	br label %bb30

bb:		; preds = %entry
	br label %bb14

bb6:		; preds = %bb14
	br label %bb14

bb14:		; preds = %bb6, %bb
	br i1 false, label %bb6, label %bb22

bb22:		; preds = %bb14
	br label %bb30

bb30:		; preds = %bb22, %entry.bb30_crit_edge
	switch i32 %test_case, label %bb648 [
		 i32 1, label %bb30.bb32_crit_edge
		 i32 2, label %bb30.bb32_crit_edge1
		 i32 3, label %bb30.bb32_crit_edge2
		 i32 4, label %bb30.bb108_crit_edge
		 i32 5, label %bb30.bb108_crit_edge3
		 i32 6, label %bb30.bb142_crit_edge
		 i32 7, label %bb30.bb142_crit_edge4
		 i32 8, label %bb30.bb142_crit_edge5
		 i32 9, label %bb234
		 i32 10, label %bb292
		 i32 11, label %bb353
		 i32 12, label %bb419
		 i32 13, label %bb485
		 i32 14, label %bb567
	]

bb30.bb142_crit_edge5:		; preds = %bb30
	br label %bb142

bb30.bb142_crit_edge4:		; preds = %bb30
	br label %bb142

bb30.bb142_crit_edge:		; preds = %bb30
	br label %bb142

bb30.bb108_crit_edge3:		; preds = %bb30
	br label %bb108

bb30.bb108_crit_edge:		; preds = %bb30
	br label %bb108

bb30.bb32_crit_edge2:		; preds = %bb30
	br label %bb32

bb30.bb32_crit_edge1:		; preds = %bb30
	br label %bb32

bb30.bb32_crit_edge:		; preds = %bb30
	br label %bb32

bb32:		; preds = %bb30.bb32_crit_edge, %bb30.bb32_crit_edge1, %bb30.bb32_crit_edge2
	br i1 false, label %bb53, label %bb52

bb52:		; preds = %bb32
	br label %bb739

bb53:		; preds = %bb32
	br label %bb101

bb58:		; preds = %bb101
	br label %bb92

bb64:		; preds = %bb92
	br i1 false, label %bb64.bb87_crit_edge, label %bb72

bb64.bb87_crit_edge:		; preds = %bb64
	br label %bb87

bb72:		; preds = %bb64
	br i1 false, label %bb72.bb87_crit_edge, label %bb79

bb72.bb87_crit_edge:		; preds = %bb72
	br label %bb87

bb79:		; preds = %bb72
	br label %bb87

bb87:		; preds = %bb79, %bb72.bb87_crit_edge, %bb64.bb87_crit_edge
	br label %bb92

bb92:		; preds = %bb87, %bb58
	br i1 false, label %bb64, label %bb98

bb98:		; preds = %bb92
	br label %bb101

bb101:		; preds = %bb98, %bb53
	br i1 false, label %bb58, label %bb107

bb107:		; preds = %bb101
	br label %bb651

bb108:		; preds = %bb30.bb108_crit_edge, %bb30.bb108_crit_edge3
	br i1 false, label %bb125, label %bb124

bb124:		; preds = %bb108
	br label %bb739

bb125:		; preds = %bb108
	br i1 false, label %bb138, label %bb139

bb138:		; preds = %bb125
	br label %bb140

bb139:		; preds = %bb125
	br label %bb140

bb140:		; preds = %bb139, %bb138
	br label %bb651

bb142:		; preds = %bb30.bb142_crit_edge, %bb30.bb142_crit_edge4, %bb30.bb142_crit_edge5
	br i1 false, label %bb161, label %bb160

bb160:		; preds = %bb142
	br label %bb739

bb161:		; preds = %bb142
	br i1 false, label %bb170, label %bb161.bb171_crit_edge

bb161.bb171_crit_edge:		; preds = %bb161
	br label %bb171

bb170:		; preds = %bb161
	br label %bb171

bb171:		; preds = %bb170, %bb161.bb171_crit_edge
	br i1 false, label %bb176, label %bb171.bb177_crit_edge

bb171.bb177_crit_edge:		; preds = %bb171
	br label %bb177

bb176:		; preds = %bb171
	br label %bb177

bb177:		; preds = %bb176, %bb171.bb177_crit_edge
	br label %bb227

bb178:		; preds = %bb227
	br label %bb218

bb184:		; preds = %bb218
	br i1 false, label %bb191, label %bb193

bb191:		; preds = %bb184
	br label %bb213

bb193:		; preds = %bb184
	br i1 false, label %bb200, label %bb203

bb200:		; preds = %bb193
	br label %bb213

bb203:		; preds = %bb193
	br i1 false, label %bb210, label %bb203.bb213_crit_edge

bb203.bb213_crit_edge:		; preds = %bb203
	br label %bb213

bb210:		; preds = %bb203
	br label %bb213

bb213:		; preds = %bb210, %bb203.bb213_crit_edge, %bb200, %bb191
	br label %bb218

bb218:		; preds = %bb213, %bb178
	br i1 false, label %bb184, label %bb224

bb224:		; preds = %bb218
	br label %bb227

bb227:		; preds = %bb224, %bb177
	br i1 false, label %bb178, label %bb233

bb233:		; preds = %bb227
	br label %bb651

bb234:		; preds = %bb30
	br i1 false, label %bb253, label %bb252

bb252:		; preds = %bb234
	br label %bb739

bb253:		; preds = %bb234
	br label %bb285

bb258:		; preds = %bb285
	br label %bb276

bb264:		; preds = %bb276
	br label %bb276

bb276:		; preds = %bb264, %bb258
	br i1 false, label %bb264, label %bb282

bb282:		; preds = %bb276
	br label %bb285

bb285:		; preds = %bb282, %bb253
	br i1 false, label %bb258, label %bb291

bb291:		; preds = %bb285
	br label %bb651

bb292:		; preds = %bb30
	br i1 false, label %bb311, label %bb310

bb310:		; preds = %bb292
	br label %bb739

bb311:		; preds = %bb292
	br label %bb346

bb316:		; preds = %bb346
	br label %bb337

bb322:		; preds = %bb337
	br label %bb337

bb337:		; preds = %bb322, %bb316
	br i1 false, label %bb322, label %bb343

bb343:		; preds = %bb337
	br label %bb346

bb346:		; preds = %bb343, %bb311
	br i1 false, label %bb316, label %bb352

bb352:		; preds = %bb346
	br label %bb651

bb353:		; preds = %bb30
	br i1 false, label %bb372, label %bb371

bb371:		; preds = %bb353
	br label %bb739

bb372:		; preds = %bb353
	br label %bb412

bb377:		; preds = %bb412
	br label %bb403

bb383:		; preds = %bb403
	br i1 false, label %bb395, label %bb389

bb389:		; preds = %bb383
	br label %bb396

bb395:		; preds = %bb383
	br label %bb396

bb396:		; preds = %bb395, %bb389
	br label %bb403

bb403:		; preds = %bb396, %bb377
	br i1 false, label %bb383, label %bb409

bb409:		; preds = %bb403
	br label %bb412

bb412:		; preds = %bb409, %bb372
	br i1 false, label %bb377, label %bb418

bb418:		; preds = %bb412
	br label %bb651

bb419:		; preds = %bb30
	br i1 false, label %bb438, label %bb437

bb437:		; preds = %bb419
	br label %bb739

bb438:		; preds = %bb419
	br label %bb478

bb443:		; preds = %bb478
	br label %bb469

bb449:		; preds = %bb469
	br i1 false, label %bb461, label %bb455

bb455:		; preds = %bb449
	br label %bb462

bb461:		; preds = %bb449
	br label %bb462

bb462:		; preds = %bb461, %bb455
	br label %bb469

bb469:		; preds = %bb462, %bb443
	br i1 false, label %bb449, label %bb475

bb475:		; preds = %bb469
	br label %bb478

bb478:		; preds = %bb475, %bb438
	br i1 false, label %bb443, label %bb484

bb484:		; preds = %bb478
	br label %bb651

bb485:		; preds = %bb30
	br i1 false, label %bb504, label %bb503

bb503:		; preds = %bb485
	br label %bb739

bb504:		; preds = %bb485
	br label %bb560

bb513:		; preds = %bb560
	br label %bb551

bb519:		; preds = %bb551
	br i1 false, label %bb528, label %bb532

bb528:		; preds = %bb519
	br label %bb536

bb532:		; preds = %bb519
	br label %bb536

bb536:		; preds = %bb532, %bb528
	br label %bb551

bb551:		; preds = %bb536, %bb513
	br i1 false, label %bb519, label %bb557

bb557:		; preds = %bb551
	br label %bb560

bb560:		; preds = %bb557, %bb504
	br i1 false, label %bb513, label %bb566

bb566:		; preds = %bb560
	br label %bb651

bb567:		; preds = %bb30
	br i1 false, label %bb586, label %bb585

bb585:		; preds = %bb567
	br label %bb739

bb586:		; preds = %bb567
	br label %bb641

bb595:		; preds = %bb641
	br label %bb632

bb601:		; preds = %bb632
	%tmp604 = icmp sgt i32 %i.7, 0		; <i1> [#uses=1]
	br i1 %tmp604, label %bb607, label %bb611

bb607:		; preds = %bb601
	br label %bb615

bb611:		; preds = %bb601
	br label %bb615

bb615:		; preds = %bb611, %bb607
	%tmp629 = add i32 %i.7, 1		; <i32> [#uses=1]
	%tmp631 = getelementptr float* %col.7, i32 1		; <float*> [#uses=1]
	br label %bb632

bb632:		; preds = %bb615, %bb595
	%col.7 = phi float* [ null, %bb595 ], [ %tmp631, %bb615 ]		; <float*> [#uses=1]
	%i.7 = phi i32 [ 0, %bb595 ], [ %tmp629, %bb615 ]		; <i32> [#uses=3]
	%tmp635 = icmp slt i32 %i.7, 0		; <i1> [#uses=1]
	br i1 %tmp635, label %bb601, label %bb638

bb638:		; preds = %bb632
	br label %bb641

bb641:		; preds = %bb638, %bb586
	br i1 false, label %bb595, label %bb647

bb647:		; preds = %bb641
	br label %bb651

bb648:		; preds = %bb30
	br label %bb739

bb651:		; preds = %bb647, %bb566, %bb484, %bb418, %bb352, %bb291, %bb233, %bb140, %bb107
	br i1 false, label %bb658, label %bb651.bb661_crit_edge

bb651.bb661_crit_edge:		; preds = %bb651
	br label %bb661

bb658:		; preds = %bb651
	br label %bb661

bb661:		; preds = %bb658, %bb651.bb661_crit_edge
	br i1 false, label %bb666, label %bb661.bb686_crit_edge

bb661.bb686_crit_edge:		; preds = %bb661
	br label %bb686

bb666:		; preds = %bb661
	br label %bb680

bb670:		; preds = %bb680
	br label %bb680

bb680:		; preds = %bb670, %bb666
	br i1 false, label %bb670, label %bb680.bb686_crit_edge

bb680.bb686_crit_edge:		; preds = %bb680
	br label %bb686

bb686:		; preds = %bb680.bb686_crit_edge, %bb661.bb686_crit_edge
	br i1 false, label %bb699, label %bb696

bb696:		; preds = %bb686
	br label %bb739

bb699:		; preds = %bb686
	br i1 false, label %bb712, label %bb709

bb709:		; preds = %bb699
	br label %bb739

bb712:		; preds = %bb699
	br i1 false, label %bb717, label %bb712.bb720_crit_edge

bb712.bb720_crit_edge:		; preds = %bb712
	br label %bb720

bb717:		; preds = %bb712
	br label %bb720

bb720:		; preds = %bb717, %bb712.bb720_crit_edge
	br i1 false, label %bb725, label %bb720.bb738_crit_edge

bb720.bb738_crit_edge:		; preds = %bb720
	br label %bb738

bb725:		; preds = %bb720
	br label %bb738

bb738:		; preds = %bb725, %bb720.bb738_crit_edge
	br label %bb739

bb739:		; preds = %bb738, %bb709, %bb696, %bb648, %bb585, %bb503, %bb437, %bb371, %bb310, %bb252, %bb160, %bb124, %bb52
	br label %return

return:		; preds = %bb739
	ret i32 0
}