llvm.org GIT mirror llvm / 47f5751
Fix 3113: If we have a dead cyclic PHI, replace the whole thing with an undef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59972 91177308-0d34-0410-b5e6-96231b3b80d8 Chris Lattner 10 years ago
3 changed file(s) with 521 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
205205 if (DestBB->getSinglePredecessor()) {
206206 // If DestBB has single-entry PHI nodes, fold them.
207207 while (PHINode *PN = dyn_cast(DestBB->begin())) {
208 PN->replaceAllUsesWith(PN->getIncomingValue(0));
208 Value *NewVal = PN->getIncomingValue(0);
209 // Replace self referencing PHI with undef, it must be dead.
210 if (NewVal == PN) NewVal = UndefValue::get(PN->getType());
211 PN->replaceAllUsesWith(NewVal);
209212 PN->eraseFromParent();
210213 }
211214
568571 if (Instruction *I = dyn_cast_or_null(AddrInst))
569572 AddrModeInsts.push_back(I);
570573
574 if (AddrInst && !AddrInst->hasOneUse())
575 ;
576 else
571577 switch (Opcode) {
572578 case Instruction::PtrToInt:
573579 // PtrToInt is always a noop, as we know that the int type is pointer sized.
0 ; RUN: llvm-as < %s | opt -codegenprepare | llvm-dis
1 ; PR3113
2 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
3 target triple = "x86_64-unknown-linux-gnu"
4
5 define fastcc i32 @ascii2flt(i8* %str) nounwind {
6 entry:
7 br label %bb2.i
8
9 bb2.i: ; preds = %bb4.i.bb2.i_crit_edge, %entry
10 br i1 false, label %bb4.i, label %base2flt.exit
11
12 bb4.i: ; preds = %bb2.i
13 br i1 false, label %bb11.i, label %bb4.i.bb2.i_crit_edge
14
15 bb4.i.bb2.i_crit_edge: ; preds = %bb4.i
16 br label %bb2.i
17
18 bb11.i: ; preds = %bb4.i
19 br label %bb11.i.base2flt.exit204_crit_edge
20
21 bb11.i.base2flt.exit204_crit_edge: ; preds = %bb11.i
22 br label %base2flt.exit204
23
24 bb11.i.bb7.i197_crit_edge: ; No predecessors!
25 br label %bb7.i197
26
27 base2flt.exit: ; preds = %bb2.i
28 br label %base2flt.exit.base2flt.exit204_crit_edge
29
30 base2flt.exit.base2flt.exit204_crit_edge: ; preds = %base2flt.exit
31 br label %base2flt.exit204
32
33 base2flt.exit.bb7.i197_crit_edge: ; No predecessors!
34 br label %bb7.i197
35
36 bb10.i196: ; preds = %bb7.i197
37 br label %bb10.i196.base2flt.exit204_crit_edge
38
39 bb10.i196.base2flt.exit204_crit_edge: ; preds = %bb7.i197, %bb10.i196
40 br label %base2flt.exit204
41
42 bb10.i196.bb7.i197_crit_edge: ; No predecessors!
43 br label %bb7.i197
44
45 bb7.i197: ; preds = %bb10.i196.bb7.i197_crit_edge, %base2flt.exit.bb7.i197_crit_edge, %bb11.i.bb7.i197_crit_edge
46 %.reg2mem.0 = phi i32 [ 0, %base2flt.exit.bb7.i197_crit_edge ], [ %.reg2mem.0, %bb10.i196.bb7.i197_crit_edge ], [ 0, %bb11.i.bb7.i197_crit_edge ] ; [#uses=1]
47 br i1 undef, label %bb10.i196.base2flt.exit204_crit_edge, label %bb10.i196
48
49 base2flt.exit204: ; preds = %bb10.i196.base2flt.exit204_crit_edge, %base2flt.exit.base2flt.exit204_crit_edge, %bb11.i.base2flt.exit204_crit_edge
50 br i1 false, label %base2flt.exit204.bb8_crit_edge, label %bb
51
52 base2flt.exit204.bb8_crit_edge: ; preds = %base2flt.exit204
53 br label %bb8
54
55 bb: ; preds = %base2flt.exit204
56 br i1 false, label %bb.bb18_crit_edge, label %bb1.i
57
58 bb.bb18_crit_edge: ; preds = %bb9, %bb
59 br label %bb18
60
61 bb1.i: ; preds = %bb
62 br i1 false, label %bb1.i.bb7_crit_edge, label %bb1.i158
63
64 bb1.i.bb7_crit_edge.loopexit: ; preds = %bb2.i164
65 br label %bb1.i.bb7_crit_edge
66
67 bb1.i.bb7_crit_edge: ; preds = %bb1.i.bb7_crit_edge.loopexit, %bb1.i
68 br label %bb7.preheader
69
70 bb1.i158: ; preds = %bb1.i
71 br i1 false, label %bb1.i158.bb10.i179_crit_edge, label %bb1.i158.bb2.i164_crit_edge
72
73 bb1.i158.bb2.i164_crit_edge: ; preds = %bb1.i158
74 br label %bb2.i164
75
76 bb1.i158.bb10.i179_crit_edge: ; preds = %bb1.i158
77 br label %bb10.i179
78
79 bb2.i164: ; preds = %bb4.i166.bb2.i164_crit_edge, %bb1.i158.bb2.i164_crit_edge
80 br i1 false, label %bb4.i166, label %bb1.i.bb7_crit_edge.loopexit
81
82 bb4.i166: ; preds = %bb2.i164
83 br i1 false, label %bb4.i166.bb11.i172_crit_edge, label %bb4.i166.bb2.i164_crit_edge
84
85 bb4.i166.bb2.i164_crit_edge: ; preds = %bb4.i166
86 br label %bb2.i164
87
88 bb4.i166.bb11.i172_crit_edge: ; preds = %bb4.i166
89 br label %bb11.i172
90
91 bb11.i172: ; preds = %bb10.i179.bb11.i172_crit_edge, %bb4.i166.bb11.i172_crit_edge
92 br label %bb7.preheader
93
94 bb10.i179: ; preds = %bb9.i182, %bb1.i158.bb10.i179_crit_edge
95 br i1 false, label %bb7.i180, label %bb10.i179.bb11.i172_crit_edge
96
97 bb10.i179.bb11.i172_crit_edge: ; preds = %bb10.i179
98 br label %bb11.i172
99
100 bb7.i180: ; preds = %bb10.i179
101 br i1 false, label %bb7.i180.bb7_crit_edge, label %bb9.i182
102
103 bb7.i180.bb7_crit_edge: ; preds = %bb7.i180
104 br label %bb7.preheader
105
106 bb7.preheader: ; preds = %bb7.i180.bb7_crit_edge, %bb11.i172, %bb1.i.bb7_crit_edge
107 br label %bb7
108
109 bb9.i182: ; preds = %bb7.i180
110 br label %bb10.i179
111
112 bb7: ; preds = %addflt.exit114, %bb7.preheader
113 switch i8 0, label %bb4 [
114 i8 0, label %bb7.bb8_crit_edge
115 i8 46, label %bb7.bb8_crit_edge
116 ]
117
118 bb7.bb8_crit_edge: ; preds = %bb7, %bb7
119 br label %bb8
120
121 bb4: ; preds = %bb7
122 br i1 false, label %bb18.loopexit1, label %bb1.i5
123
124 bb1.i5: ; preds = %bb4
125 br i1 false, label %bb1.i5.mulflt.exit157_crit_edge, label %bb3.i147
126
127 bb1.i5.mulflt.exit157_crit_edge: ; preds = %bb5.i148, %bb1.i5
128 br label %mulflt.exit157
129
130 bb3.i147: ; preds = %bb1.i5
131 br i1 false, label %bb3.i147.mulflt.exit157_crit_edge, label %bb5.i148
132
133 bb3.i147.mulflt.exit157_crit_edge: ; preds = %bb8.i150, %bb3.i147
134 br label %mulflt.exit157
135
136 bb5.i148: ; preds = %bb3.i147
137 br i1 false, label %bb1.i5.mulflt.exit157_crit_edge, label %bb7.i149
138
139 bb7.i149: ; preds = %bb5.i148
140 br i1 false, label %bb8.i150, label %bb7.i149.bb12.i154_crit_edge
141
142 bb7.i149.bb12.i154_crit_edge: ; preds = %bb7.i149
143 br label %bb12.i154
144
145 bb8.i150: ; preds = %bb7.i149
146 br i1 false, label %bb3.i147.mulflt.exit157_crit_edge, label %bb10.i151
147
148 bb10.i151: ; preds = %bb8.i150
149 br label %bb12.i154
150
151 bb12.i154: ; preds = %bb10.i151, %bb7.i149.bb12.i154_crit_edge
152 br label %mulflt.exit157
153
154 mulflt.exit157: ; preds = %bb12.i154, %bb3.i147.mulflt.exit157_crit_edge, %bb1.i5.mulflt.exit157_crit_edge
155 br i1 false, label %mulflt.exit157.base2flt.exit144_crit_edge, label %bb1.i115
156
157 mulflt.exit157.base2flt.exit144_crit_edge.loopexit: ; preds = %bb2.i121
158 br label %mulflt.exit157.base2flt.exit144_crit_edge
159
160 mulflt.exit157.base2flt.exit144_crit_edge: ; preds = %mulflt.exit157.base2flt.exit144_crit_edge.loopexit, %mulflt.exit157
161 br label %base2flt.exit144
162
163 bb1.i115: ; preds = %mulflt.exit157
164 br i1 false, label %bb1.i115.bb10.i136_crit_edge, label %bb1.i115.bb2.i121_crit_edge
165
166 bb1.i115.bb2.i121_crit_edge: ; preds = %bb1.i115
167 br label %bb2.i121
168
169 bb1.i115.bb10.i136_crit_edge: ; preds = %bb1.i115
170 br label %bb10.i136
171
172 bb2.i121: ; preds = %bb4.i123.bb2.i121_crit_edge, %bb1.i115.bb2.i121_crit_edge
173 br i1 false, label %bb4.i123, label %mulflt.exit157.base2flt.exit144_crit_edge.loopexit
174
175 bb4.i123: ; preds = %bb2.i121
176 br i1 false, label %bb4.i123.bb11.i129_crit_edge, label %bb4.i123.bb2.i121_crit_edge
177
178 bb4.i123.bb2.i121_crit_edge: ; preds = %bb4.i123
179 br label %bb2.i121
180
181 bb4.i123.bb11.i129_crit_edge: ; preds = %bb4.i123
182 br label %bb11.i129
183
184 bb11.i129: ; preds = %bb10.i136.bb11.i129_crit_edge, %bb4.i123.bb11.i129_crit_edge
185 br label %base2flt.exit144
186
187 bb10.i136: ; preds = %bb9.i139, %bb1.i115.bb10.i136_crit_edge
188 br i1 false, label %bb7.i137, label %bb10.i136.bb11.i129_crit_edge
189
190 bb10.i136.bb11.i129_crit_edge: ; preds = %bb10.i136
191 br label %bb11.i129
192
193 bb7.i137: ; preds = %bb10.i136
194 br i1 false, label %bb7.i137.base2flt.exit144_crit_edge, label %bb9.i139
195
196 bb7.i137.base2flt.exit144_crit_edge: ; preds = %bb7.i137
197 br label %base2flt.exit144
198
199 bb9.i139: ; preds = %bb7.i137
200 br label %bb10.i136
201
202 base2flt.exit144: ; preds = %bb7.i137.base2flt.exit144_crit_edge, %bb11.i129, %mulflt.exit157.base2flt.exit144_crit_edge
203 br i1 false, label %base2flt.exit144.addflt.exit114_crit_edge, label %bb3.i105
204
205 base2flt.exit144.addflt.exit114_crit_edge: ; preds = %bb3.i105, %base2flt.exit144
206 br label %addflt.exit114
207
208 bb3.i105: ; preds = %base2flt.exit144
209 br i1 false, label %base2flt.exit144.addflt.exit114_crit_edge, label %bb5.i106
210
211 bb5.i106: ; preds = %bb3.i105
212 br i1 false, label %bb5.i106.bb9.i111_crit_edge, label %bb6.i107
213
214 bb5.i106.bb9.i111_crit_edge: ; preds = %bb5.i106
215 br label %bb9.i111
216
217 bb6.i107: ; preds = %bb5.i106
218 br i1 false, label %bb6.i107.addflt.exit114_crit_edge, label %bb8.i108
219
220 bb6.i107.addflt.exit114_crit_edge: ; preds = %bb6.i107
221 br label %addflt.exit114
222
223 bb8.i108: ; preds = %bb6.i107
224 br label %bb9.i111
225
226 bb9.i111: ; preds = %bb8.i108, %bb5.i106.bb9.i111_crit_edge
227 br label %addflt.exit114
228
229 addflt.exit114: ; preds = %bb9.i111, %bb6.i107.addflt.exit114_crit_edge, %base2flt.exit144.addflt.exit114_crit_edge
230 br label %bb7
231
232 bb18.loopexit1: ; preds = %bb4
233 ret i32 -1
234
235 bb18: ; preds = %bb8.bb18_crit_edge, %bb.bb18_crit_edge
236 ret i32 0
237
238 bb8: ; preds = %bb7.bb8_crit_edge, %base2flt.exit204.bb8_crit_edge
239 br i1 false, label %bb9, label %bb8.bb18_crit_edge
240
241 bb8.bb18_crit_edge: ; preds = %bb8
242 br label %bb18
243
244 bb9: ; preds = %bb8
245 br i1 false, label %bb.bb18_crit_edge, label %bb1.i13
246
247 bb1.i13: ; preds = %bb9
248 br i1 false, label %bb1.i13.base2flt.exit102_crit_edge, label %bb1.i73
249
250 bb1.i13.base2flt.exit102_crit_edge.loopexit: ; preds = %bb2.i79
251 br label %bb1.i13.base2flt.exit102_crit_edge
252
253 bb1.i13.base2flt.exit102_crit_edge: ; preds = %bb1.i13.base2flt.exit102_crit_edge.loopexit, %bb1.i13
254 br label %base2flt.exit102
255
256 bb1.i73: ; preds = %bb1.i13
257 br i1 false, label %bb1.i73.bb10.i94_crit_edge, label %bb1.i73.bb2.i79_crit_edge
258
259 bb1.i73.bb2.i79_crit_edge: ; preds = %bb1.i73
260 br label %bb2.i79
261
262 bb1.i73.bb10.i94_crit_edge: ; preds = %bb1.i73
263 br label %bb10.i94
264
265 bb2.i79: ; preds = %bb4.i81.bb2.i79_crit_edge, %bb1.i73.bb2.i79_crit_edge
266 br i1 false, label %bb4.i81, label %bb1.i13.base2flt.exit102_crit_edge.loopexit
267
268 bb4.i81: ; preds = %bb2.i79
269 br i1 false, label %bb4.i81.bb11.i87_crit_edge, label %bb4.i81.bb2.i79_crit_edge
270
271 bb4.i81.bb2.i79_crit_edge: ; preds = %bb4.i81
272 br label %bb2.i79
273
274 bb4.i81.bb11.i87_crit_edge: ; preds = %bb4.i81
275 br label %bb11.i87
276
277 bb11.i87: ; preds = %bb10.i94.bb11.i87_crit_edge, %bb4.i81.bb11.i87_crit_edge
278 br label %base2flt.exit102
279
280 bb10.i94: ; preds = %bb9.i97, %bb1.i73.bb10.i94_crit_edge
281 br i1 false, label %bb7.i95, label %bb10.i94.bb11.i87_crit_edge
282
283 bb10.i94.bb11.i87_crit_edge: ; preds = %bb10.i94
284 br label %bb11.i87
285
286 bb7.i95: ; preds = %bb10.i94
287 br i1 false, label %bb7.i95.base2flt.exit102_crit_edge, label %bb9.i97
288
289 bb7.i95.base2flt.exit102_crit_edge: ; preds = %bb7.i95
290 br label %base2flt.exit102
291
292 bb9.i97: ; preds = %bb7.i95
293 br label %bb10.i94
294
295 base2flt.exit102: ; preds = %bb7.i95.base2flt.exit102_crit_edge, %bb11.i87, %bb1.i13.base2flt.exit102_crit_edge
296 br i1 false, label %base2flt.exit102.mulflt.exit72_crit_edge, label %bb3.i62
297
298 base2flt.exit102.mulflt.exit72_crit_edge: ; preds = %bb5.i63, %base2flt.exit102
299 br label %mulflt.exit72
300
301 bb3.i62: ; preds = %base2flt.exit102
302 br i1 false, label %bb3.i62.mulflt.exit72_crit_edge, label %bb5.i63
303
304 bb3.i62.mulflt.exit72_crit_edge: ; preds = %bb8.i65, %bb3.i62
305 br label %mulflt.exit72
306
307 bb5.i63: ; preds = %bb3.i62
308 br i1 false, label %base2flt.exit102.mulflt.exit72_crit_edge, label %bb7.i64
309
310 bb7.i64: ; preds = %bb5.i63
311 br i1 false, label %bb8.i65, label %bb7.i64.bb12.i69_crit_edge
312
313 bb7.i64.bb12.i69_crit_edge: ; preds = %bb7.i64
314 br label %bb12.i69
315
316 bb8.i65: ; preds = %bb7.i64
317 br i1 false, label %bb3.i62.mulflt.exit72_crit_edge, label %bb10.i66
318
319 bb10.i66: ; preds = %bb8.i65
320 br label %bb12.i69
321
322 bb12.i69: ; preds = %bb10.i66, %bb7.i64.bb12.i69_crit_edge
323 br label %mulflt.exit72
324
325 mulflt.exit72: ; preds = %bb12.i69, %bb3.i62.mulflt.exit72_crit_edge, %base2flt.exit102.mulflt.exit72_crit_edge
326 br i1 false, label %mulflt.exit72.bb10.i58_crit_edge, label %bb3.i50
327
328 mulflt.exit72.bb10.i58_crit_edge: ; preds = %bb3.i50, %mulflt.exit72
329 br label %bb10.i58
330
331 bb3.i50: ; preds = %mulflt.exit72
332 br i1 false, label %mulflt.exit72.bb10.i58_crit_edge, label %bb5.i51
333
334 bb5.i51: ; preds = %bb3.i50
335 br i1 false, label %bb5.i51.bb9.i56_crit_edge, label %bb6.i52
336
337 bb5.i51.bb9.i56_crit_edge: ; preds = %bb5.i51
338 br label %bb9.i56
339
340 bb6.i52: ; preds = %bb5.i51
341 br i1 false, label %bb6.i52.bb10.i58_crit_edge, label %bb8.i53
342
343 bb6.i52.bb10.i58_crit_edge: ; preds = %bb6.i52
344 br label %bb10.i58
345
346 bb8.i53: ; preds = %bb6.i52
347 br label %bb9.i56
348
349 bb9.i56: ; preds = %bb8.i53, %bb5.i51.bb9.i56_crit_edge
350 br label %bb15.preheader
351
352 bb10.i58: ; preds = %bb6.i52.bb10.i58_crit_edge, %mulflt.exit72.bb10.i58_crit_edge
353 br label %bb15.preheader
354
355 bb15.preheader: ; preds = %bb10.i58, %bb9.i56
356 br label %bb15
357
358 bb15: ; preds = %addflt.exit, %bb15.preheader
359 br i1 false, label %bb15.bb18.loopexit_crit_edge, label %bb12
360
361 bb15.bb18.loopexit_crit_edge: ; preds = %bb15
362 br label %bb18.loopexit
363
364 bb12: ; preds = %bb15
365 br i1 false, label %bb12.bb18.loopexit_crit_edge, label %bb1.i21
366
367 bb12.bb18.loopexit_crit_edge: ; preds = %bb12
368 br label %bb18.loopexit
369
370 bb1.i21: ; preds = %bb12
371 br i1 false, label %bb1.i21.mulflt.exit47_crit_edge, label %bb3.i37
372
373 bb1.i21.mulflt.exit47_crit_edge: ; preds = %bb5.i38, %bb1.i21
374 br label %mulflt.exit47
375
376 bb3.i37: ; preds = %bb1.i21
377 br i1 false, label %bb3.i37.mulflt.exit47_crit_edge, label %bb5.i38
378
379 bb3.i37.mulflt.exit47_crit_edge: ; preds = %bb8.i40, %bb3.i37
380 br label %mulflt.exit47
381
382 bb5.i38: ; preds = %bb3.i37
383 br i1 false, label %bb1.i21.mulflt.exit47_crit_edge, label %bb7.i39
384
385 bb7.i39: ; preds = %bb5.i38
386 br i1 false, label %bb8.i40, label %bb7.i39.bb12.i44_crit_edge
387
388 bb7.i39.bb12.i44_crit_edge: ; preds = %bb7.i39
389 br label %bb12.i44
390
391 bb8.i40: ; preds = %bb7.i39
392 br i1 false, label %bb3.i37.mulflt.exit47_crit_edge, label %bb10.i41
393
394 bb10.i41: ; preds = %bb8.i40
395 br label %bb12.i44
396
397 bb12.i44: ; preds = %bb10.i41, %bb7.i39.bb12.i44_crit_edge
398 br label %mulflt.exit47
399
400 mulflt.exit47: ; preds = %bb12.i44, %bb3.i37.mulflt.exit47_crit_edge, %bb1.i21.mulflt.exit47_crit_edge
401 br i1 false, label %mulflt.exit47.base2flt.exit34_crit_edge, label %bb1.i15
402
403 mulflt.exit47.base2flt.exit34_crit_edge.loopexit: ; preds = %bb2.i20
404 br label %mulflt.exit47.base2flt.exit34_crit_edge
405
406 mulflt.exit47.base2flt.exit34_crit_edge: ; preds = %mulflt.exit47.base2flt.exit34_crit_edge.loopexit, %mulflt.exit47
407 br label %base2flt.exit34
408
409 bb1.i15: ; preds = %mulflt.exit47
410 br i1 false, label %bb1.i15.bb10.i31_crit_edge, label %bb1.i15.bb2.i20_crit_edge
411
412 bb1.i15.bb2.i20_crit_edge: ; preds = %bb1.i15
413 br label %bb2.i20
414
415 bb1.i15.bb10.i31_crit_edge: ; preds = %bb1.i15
416 br label %bb10.i31
417
418 bb2.i20: ; preds = %bb4.i22.bb2.i20_crit_edge, %bb1.i15.bb2.i20_crit_edge
419 br i1 false, label %bb4.i22, label %mulflt.exit47.base2flt.exit34_crit_edge.loopexit
420
421 bb4.i22: ; preds = %bb2.i20
422 br i1 false, label %bb4.i22.bb11.i28_crit_edge, label %bb4.i22.bb2.i20_crit_edge
423
424 bb4.i22.bb2.i20_crit_edge: ; preds = %bb4.i22
425 br label %bb2.i20
426
427 bb4.i22.bb11.i28_crit_edge: ; preds = %bb4.i22
428 br label %bb11.i28
429
430 bb11.i28: ; preds = %bb10.i31.bb11.i28_crit_edge, %bb4.i22.bb11.i28_crit_edge
431 br label %base2flt.exit34
432
433 bb10.i31: ; preds = %bb9.i33, %bb1.i15.bb10.i31_crit_edge
434 br i1 false, label %bb7.i32, label %bb10.i31.bb11.i28_crit_edge
435
436 bb10.i31.bb11.i28_crit_edge: ; preds = %bb10.i31
437 br label %bb11.i28
438
439 bb7.i32: ; preds = %bb10.i31
440 br i1 false, label %bb7.i32.base2flt.exit34_crit_edge, label %bb9.i33
441
442 bb7.i32.base2flt.exit34_crit_edge: ; preds = %bb7.i32
443 br label %base2flt.exit34
444
445 bb9.i33: ; preds = %bb7.i32
446 br label %bb10.i31
447
448 base2flt.exit34: ; preds = %bb7.i32.base2flt.exit34_crit_edge, %bb11.i28, %mulflt.exit47.base2flt.exit34_crit_edge
449 br i1 false, label %base2flt.exit34.mulflt.exit_crit_edge, label %bb3.i9
450
451 base2flt.exit34.mulflt.exit_crit_edge: ; preds = %bb5.i10, %base2flt.exit34
452 br label %mulflt.exit
453
454 bb3.i9: ; preds = %base2flt.exit34
455 br i1 false, label %bb3.i9.mulflt.exit_crit_edge, label %bb5.i10
456
457 bb3.i9.mulflt.exit_crit_edge: ; preds = %bb8.i11, %bb3.i9
458 br label %mulflt.exit
459
460 bb5.i10: ; preds = %bb3.i9
461 br i1 false, label %base2flt.exit34.mulflt.exit_crit_edge, label %bb7.i
462
463 bb7.i: ; preds = %bb5.i10
464 br i1 false, label %bb8.i11, label %bb7.i.bb12.i_crit_edge
465
466 bb7.i.bb12.i_crit_edge: ; preds = %bb7.i
467 br label %bb12.i
468
469 bb8.i11: ; preds = %bb7.i
470 br i1 false, label %bb3.i9.mulflt.exit_crit_edge, label %bb10.i12
471
472 bb10.i12: ; preds = %bb8.i11
473 br label %bb12.i
474
475 bb12.i: ; preds = %bb10.i12, %bb7.i.bb12.i_crit_edge
476 br label %mulflt.exit
477
478 mulflt.exit: ; preds = %bb12.i, %bb3.i9.mulflt.exit_crit_edge, %base2flt.exit34.mulflt.exit_crit_edge
479 br i1 false, label %mulflt.exit.addflt.exit_crit_edge, label %bb3.i
480
481 mulflt.exit.addflt.exit_crit_edge: ; preds = %bb3.i, %mulflt.exit
482 br label %addflt.exit
483
484 bb3.i: ; preds = %mulflt.exit
485 br i1 false, label %mulflt.exit.addflt.exit_crit_edge, label %bb5.i
486
487 bb5.i: ; preds = %bb3.i
488 br i1 false, label %bb5.i.bb9.i_crit_edge, label %bb6.i
489
490 bb5.i.bb9.i_crit_edge: ; preds = %bb5.i
491 br label %bb9.i
492
493 bb6.i: ; preds = %bb5.i
494 br i1 false, label %bb6.i.addflt.exit_crit_edge, label %bb8.i
495
496 bb6.i.addflt.exit_crit_edge: ; preds = %bb6.i
497 br label %addflt.exit
498
499 bb8.i: ; preds = %bb6.i
500 br label %bb9.i
501
502 bb9.i: ; preds = %bb8.i, %bb5.i.bb9.i_crit_edge
503 br label %addflt.exit
504
505 addflt.exit: ; preds = %bb9.i, %bb6.i.addflt.exit_crit_edge, %mulflt.exit.addflt.exit_crit_edge
506 br label %bb15
507
508 bb18.loopexit: ; preds = %bb12.bb18.loopexit_crit_edge, %bb15.bb18.loopexit_crit_edge
509 ret i32 0
510 }
0 load_lib llvm.exp
1
2 RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.ll]]