Revert "[objc-arc] Track if we encountered an additive overflow while computing ...
[oota-llvm.git] / test / Transforms / ObjCARC / path-overflow.ll
1 ; RUN: opt -objc-arc -S < %s
2 ; rdar://12277446
3 ; rdar://12480535
4
5 ; The total number of paths grows exponentially with the number of branches, and a
6 ; computation of this number can overflow any reasonable fixed-sized
7 ; integer. This can occur in both the addition phase when we are adding up the
8 ; total bottomup/topdown paths and when we multiply them together at the end.
9
10 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32"
11 target triple = "thumbv7-apple-ios5.0.0"
12
13 %struct.NSConstantString.11.33.55.77.99.121.143.332.1130.1340.2768 = type { i32*, i32, i8*, i32 }
14
15 @_unnamed_cfstring_591 = external constant %struct.NSConstantString.11.33.55.77.99.121.143.332.1130.1340.2768, section "__DATA,__cfstring"
16
17 declare i8* @objc_retain(i8*) nonlazybind
18 declare i8* @objc_retainAutoreleasedReturnValue(i8*) nonlazybind
19 declare void @objc_release(i8*) nonlazybind
20 declare i8* @returner()
21
22 define hidden void @test1() {
23 entry:
24   br i1 undef, label %msgSend.nullinit, label %msgSend.call
25
26 msgSend.call:                                     ; preds = %entry
27   br label %msgSend.cont
28
29 msgSend.nullinit:                                 ; preds = %entry
30   br label %msgSend.cont
31
32 msgSend.cont:                                     ; preds = %msgSend.nullinit, %msgSend.call
33   %0 = bitcast %struct.NSConstantString.11.33.55.77.99.121.143.332.1130.1340.2768* @_unnamed_cfstring_591 to i8*
34   %1 = call i8* @objc_retain(i8* %0) nounwind
35   br i1 undef, label %msgSend.nullinit33, label %msgSend.call32
36
37 msgSend.call32:                                   ; preds = %if.end10
38   br label %msgSend.cont34
39
40 msgSend.nullinit33:                               ; preds = %if.end10
41   br label %msgSend.cont34
42
43 msgSend.cont34:                                   ; preds = %msgSend.nullinit33, %msgSend.call32
44   br i1 undef, label %msgSend.nullinit38, label %msgSend.call37
45
46 msgSend.call37:                                   ; preds = %msgSend.cont34
47   br label %msgSend.cont39
48
49 msgSend.nullinit38:                               ; preds = %msgSend.cont34
50   br label %msgSend.cont39
51
52 msgSend.cont39:                                   ; preds = %msgSend.nullinit38, %msgSend.call37
53   br i1 undef, label %msgSend.nullinit49, label %msgSend.call48
54
55 msgSend.call48:                                   ; preds = %msgSend.cont39
56   br label %msgSend.cont50
57
58 msgSend.nullinit49:                               ; preds = %msgSend.cont39
59   br label %msgSend.cont50
60
61 msgSend.cont50:                                   ; preds = %msgSend.nullinit49, %msgSend.call48
62   br i1 undef, label %msgSend.nullinit61, label %msgSend.call60
63
64 msgSend.call60:                                   ; preds = %msgSend.cont50
65   br label %msgSend.cont62
66
67 msgSend.nullinit61:                               ; preds = %msgSend.cont50
68   br label %msgSend.cont62
69
70 msgSend.cont62:                                   ; preds = %msgSend.nullinit61, %msgSend.call60
71   br i1 undef, label %msgSend.nullinit67, label %msgSend.call66
72
73 msgSend.call66:                                   ; preds = %msgSend.cont62
74   br label %msgSend.cont68
75
76 msgSend.nullinit67:                               ; preds = %msgSend.cont62
77   br label %msgSend.cont68
78
79 msgSend.cont68:                                   ; preds = %msgSend.nullinit67, %msgSend.call66
80   br i1 undef, label %msgSend.nullinit84, label %msgSend.call83
81
82 msgSend.call83:                                   ; preds = %msgSend.cont68
83   br label %msgSend.cont85
84
85 msgSend.nullinit84:                               ; preds = %msgSend.cont68
86   br label %msgSend.cont85
87
88 msgSend.cont85:                                   ; preds = %msgSend.nullinit84, %msgSend.call83
89   br i1 undef, label %msgSend.nullinit90, label %msgSend.call89
90
91 msgSend.call89:                                   ; preds = %msgSend.cont85
92   br label %msgSend.cont91
93
94 msgSend.nullinit90:                               ; preds = %msgSend.cont85
95   br label %msgSend.cont91
96
97 msgSend.cont91:                                   ; preds = %msgSend.nullinit90, %msgSend.call89
98   br i1 undef, label %msgSend.nullinit104, label %msgSend.call103
99
100 msgSend.call103:                                  ; preds = %msgSend.cont91
101   br label %msgSend.cont105
102
103 msgSend.nullinit104:                              ; preds = %msgSend.cont91
104   br label %msgSend.cont105
105
106 msgSend.cont105:                                  ; preds = %msgSend.nullinit104, %msgSend.call103
107   br i1 undef, label %land.lhs.true, label %if.end123
108
109 land.lhs.true:                                    ; preds = %msgSend.cont105
110   br i1 undef, label %if.then117, label %if.end123
111
112 if.then117:                                       ; preds = %land.lhs.true
113   br label %if.end123
114
115 if.end123:                                        ; preds = %if.then117, %land.lhs.true, %msgSend.cont105
116   br i1 undef, label %msgSend.nullinit132, label %msgSend.call131
117
118 msgSend.call131:                                  ; preds = %if.end123
119   br label %msgSend.cont133
120
121 msgSend.nullinit132:                              ; preds = %if.end123
122   br label %msgSend.cont133
123
124 msgSend.cont133:                                  ; preds = %msgSend.nullinit132, %msgSend.call131
125   br i1 undef, label %msgSend.nullinit139, label %msgSend.call138
126
127 msgSend.call138:                                  ; preds = %msgSend.cont133
128   br label %msgSend.cont140
129
130 msgSend.nullinit139:                              ; preds = %msgSend.cont133
131   br label %msgSend.cont140
132
133 msgSend.cont140:                                  ; preds = %msgSend.nullinit139, %msgSend.call138
134   br i1 undef, label %if.then151, label %if.end157
135
136 if.then151:                                       ; preds = %msgSend.cont140
137   br label %if.end157
138
139 if.end157:                                        ; preds = %if.then151, %msgSend.cont140
140   br i1 undef, label %msgSend.nullinit164, label %msgSend.call163
141
142 msgSend.call163:                                  ; preds = %if.end157
143   br label %msgSend.cont165
144
145 msgSend.nullinit164:                              ; preds = %if.end157
146   br label %msgSend.cont165
147
148 msgSend.cont165:                                  ; preds = %msgSend.nullinit164, %msgSend.call163
149   br i1 undef, label %msgSend.nullinit176, label %msgSend.call175
150
151 msgSend.call175:                                  ; preds = %msgSend.cont165
152   br label %msgSend.cont177
153
154 msgSend.nullinit176:                              ; preds = %msgSend.cont165
155   br label %msgSend.cont177
156
157 msgSend.cont177:                                  ; preds = %msgSend.nullinit176, %msgSend.call175
158   br i1 undef, label %land.lhs.true181, label %if.end202
159
160 land.lhs.true181:                                 ; preds = %msgSend.cont177
161   br i1 undef, label %if.then187, label %if.end202
162
163 if.then187:                                       ; preds = %land.lhs.true181
164   br i1 undef, label %msgSend.nullinit199, label %msgSend.call198
165
166 msgSend.call198:                                  ; preds = %if.then187
167   br label %msgSend.cont200
168
169 msgSend.nullinit199:                              ; preds = %if.then187
170   br label %msgSend.cont200
171
172 msgSend.cont200:                                  ; preds = %msgSend.nullinit199, %msgSend.call198
173   br label %if.end202
174
175 if.end202:                                        ; preds = %msgSend.cont200, %land.lhs.true181, %msgSend.cont177
176   br i1 undef, label %msgSend.nullinit236, label %msgSend.call235
177
178 msgSend.call235:                                  ; preds = %if.end202
179   br label %msgSend.cont237
180
181 msgSend.nullinit236:                              ; preds = %if.end202
182   br label %msgSend.cont237
183
184 msgSend.cont237:                                  ; preds = %msgSend.nullinit236, %msgSend.call235
185   br i1 undef, label %msgSend.nullinit254, label %msgSend.call253
186
187 msgSend.call253:                                  ; preds = %msgSend.cont237
188   br label %msgSend.cont255
189
190 msgSend.nullinit254:                              ; preds = %msgSend.cont237
191   br label %msgSend.cont255
192
193 msgSend.cont255:                                  ; preds = %msgSend.nullinit254, %msgSend.call253
194   br i1 undef, label %msgSend.nullinit269, label %msgSend.call268
195
196 msgSend.call268:                                  ; preds = %msgSend.cont255
197   br label %msgSend.cont270
198
199 msgSend.nullinit269:                              ; preds = %msgSend.cont255
200   br label %msgSend.cont270
201
202 msgSend.cont270:                                  ; preds = %msgSend.nullinit269, %msgSend.call268
203   br i1 undef, label %msgSend.nullinit281, label %msgSend.call280
204
205 msgSend.call280:                                  ; preds = %msgSend.cont270
206   br label %msgSend.cont282
207
208 msgSend.nullinit281:                              ; preds = %msgSend.cont270
209   br label %msgSend.cont282
210
211 msgSend.cont282:                                  ; preds = %msgSend.nullinit281, %msgSend.call280
212   br i1 undef, label %msgSend.nullinit287, label %msgSend.call286
213
214 msgSend.call286:                                  ; preds = %msgSend.cont282
215   br label %msgSend.cont288
216
217 msgSend.nullinit287:                              ; preds = %msgSend.cont282
218   br label %msgSend.cont288
219
220 msgSend.cont288:                                  ; preds = %msgSend.nullinit287, %msgSend.call286
221   br i1 undef, label %msgSend.nullinit303, label %msgSend.call302
222
223 msgSend.call302:                                  ; preds = %msgSend.cont288
224   br label %msgSend.cont304
225
226 msgSend.nullinit303:                              ; preds = %msgSend.cont288
227   br label %msgSend.cont304
228
229 msgSend.cont304:                                  ; preds = %msgSend.nullinit303, %msgSend.call302
230   br i1 undef, label %msgSend.nullinit344, label %msgSend.call343
231
232 msgSend.call343:                                  ; preds = %msgSend.cont304
233   br label %msgSend.cont345
234
235 msgSend.nullinit344:                              ; preds = %msgSend.cont304
236   br label %msgSend.cont345
237
238 msgSend.cont345:                                  ; preds = %msgSend.nullinit344, %msgSend.call343
239   br i1 undef, label %msgSend.nullinit350, label %msgSend.call349
240
241 msgSend.call349:                                  ; preds = %msgSend.cont345
242   br label %msgSend.cont351
243
244 msgSend.nullinit350:                              ; preds = %msgSend.cont345
245   br label %msgSend.cont351
246
247 msgSend.cont351:                                  ; preds = %msgSend.nullinit350, %msgSend.call349
248   br i1 undef, label %msgSend.nullinit366, label %msgSend.call365
249
250 msgSend.call365:                                  ; preds = %msgSend.cont351
251   br label %msgSend.cont367
252
253 msgSend.nullinit366:                              ; preds = %msgSend.cont351
254   br label %msgSend.cont367
255
256 msgSend.cont367:                                  ; preds = %msgSend.nullinit366, %msgSend.call365
257   br i1 undef, label %msgSend.nullinit376, label %msgSend.call375
258
259 msgSend.call375:                                  ; preds = %msgSend.cont367
260   br label %msgSend.cont377
261
262 msgSend.nullinit376:                              ; preds = %msgSend.cont367
263   br label %msgSend.cont377
264
265 msgSend.cont377:                                  ; preds = %msgSend.nullinit376, %msgSend.call375
266   br i1 undef, label %if.then384, label %if.else401
267
268 if.then384:                                       ; preds = %msgSend.cont377
269   br i1 undef, label %msgSend.nullinit392, label %msgSend.call391
270
271 msgSend.call391:                                  ; preds = %if.then384
272   br label %msgSend.cont393
273
274 msgSend.nullinit392:                              ; preds = %if.then384
275   br label %msgSend.cont393
276
277 msgSend.cont393:                                  ; preds = %msgSend.nullinit392, %msgSend.call391
278   br label %if.end418
279
280 if.else401:                                       ; preds = %msgSend.cont377
281   br i1 undef, label %msgSend.nullinit409, label %msgSend.call408
282
283 msgSend.call408:                                  ; preds = %if.else401
284   br label %msgSend.cont410
285
286 msgSend.nullinit409:                              ; preds = %if.else401
287   br label %msgSend.cont410
288
289 msgSend.cont410:                                  ; preds = %msgSend.nullinit409, %msgSend.call408
290   br label %if.end418
291
292 if.end418:                                        ; preds = %msgSend.cont410, %msgSend.cont393
293   br i1 undef, label %msgSend.nullinit470, label %msgSend.call469
294
295 msgSend.call469:                                  ; preds = %if.end418
296   br label %msgSend.cont471
297
298 msgSend.nullinit470:                              ; preds = %if.end418
299   br label %msgSend.cont471
300
301 msgSend.cont471:                                  ; preds = %msgSend.nullinit470, %msgSend.call469
302   br i1 undef, label %msgSend.nullinit484, label %msgSend.call483
303
304 msgSend.call483:                                  ; preds = %msgSend.cont471
305   br label %msgSend.cont485
306
307 msgSend.nullinit484:                              ; preds = %msgSend.cont471
308   br label %msgSend.cont485
309
310 msgSend.cont485:                                  ; preds = %msgSend.nullinit484, %msgSend.call483
311   br i1 undef, label %msgSend.nullinit500, label %msgSend.call499
312
313 msgSend.call499:                                  ; preds = %msgSend.cont485
314   br label %msgSend.cont501
315
316 msgSend.nullinit500:                              ; preds = %msgSend.cont485
317   br label %msgSend.cont501
318
319 msgSend.cont501:                                  ; preds = %msgSend.nullinit500, %msgSend.call499
320   br i1 undef, label %msgSend.nullinit506, label %msgSend.call505
321
322 msgSend.call505:                                  ; preds = %msgSend.cont501
323   br label %msgSend.cont507
324
325 msgSend.nullinit506:                              ; preds = %msgSend.cont501
326   br label %msgSend.cont507
327
328 msgSend.cont507:                                  ; preds = %msgSend.nullinit506, %msgSend.call505
329   call void @objc_release(i8* %0) nounwind, !clang.imprecise_release !0
330   ret void
331 }
332
333 ; Function Attrs: optsize ssp uwtable
334 define void @test2() unnamed_addr align 2 {
335 bb:
336   br i1 undef, label %bb3, label %bb2
337
338 bb2:                                              ; preds = %bb
339   br label %bb3
340
341 bb3:                                              ; preds = %bb2, %bb
342   br i1 undef, label %bb5, label %bb4
343
344 bb4:                                              ; preds = %bb3
345   br label %bb5
346
347 bb5:                                              ; preds = %bb4, %bb3
348   br i1 undef, label %bb7, label %bb6
349
350 bb6:                                              ; preds = %bb5
351   br label %bb7
352
353 bb7:                                              ; preds = %bb6, %bb5
354   br i1 undef, label %bb9, label %bb8
355
356 bb8:                                              ; preds = %bb7
357   unreachable
358
359 bb9:                                              ; preds = %bb7
360   br i1 undef, label %bb11, label %bb10
361
362 bb10:                                             ; preds = %bb9
363   br label %bb11
364
365 bb11:                                             ; preds = %bb10, %bb9
366   br i1 undef, label %bb13, label %bb12
367
368 bb12:                                             ; preds = %bb11
369   br label %bb13
370
371 bb13:                                             ; preds = %bb12, %bb11
372   br i1 undef, label %bb15, label %bb14
373
374 bb14:                                             ; preds = %bb13
375   br label %bb15
376
377 bb15:                                             ; preds = %bb14, %bb13
378   br i1 undef, label %bb17, label %bb16
379
380 bb16:                                             ; preds = %bb15
381   br label %bb17
382
383 bb17:                                             ; preds = %bb16, %bb15
384   br i1 undef, label %bb19, label %bb18
385
386 bb18:                                             ; preds = %bb17
387   br label %bb19
388
389 bb19:                                             ; preds = %bb18, %bb17
390   br i1 undef, label %bb222, label %bb20
391
392 bb20:                                             ; preds = %bb19
393   br i1 undef, label %bb222, label %bb21
394
395 bb21:                                             ; preds = %bb20
396   br i1 undef, label %bb22, label %bb30
397
398 bb22:                                             ; preds = %bb21
399   br i1 undef, label %bb23, label %bb32
400
401 bb23:                                             ; preds = %bb22
402   br i1 undef, label %bb24, label %bb34
403
404 bb24:                                             ; preds = %bb23
405   br i1 undef, label %bb26, label %bb25
406
407 bb25:                                             ; preds = %bb24
408   br label %bb27
409
410 bb26:                                             ; preds = %bb24
411   br label %bb27
412
413 bb27:                                             ; preds = %bb26, %bb25
414   br i1 undef, label %bb28, label %bb42
415
416 bb28:                                             ; preds = %bb27
417   br i1 undef, label %bb36, label %bb29
418
419 bb29:                                             ; preds = %bb28
420   br label %bb36
421
422 bb30:                                             ; preds = %bb210, %bb207, %bb203, %bb199, %bb182, %bb176, %bb174, %bb171, %bb136, %bb132, %bb21
423   br label %bb213
424
425 bb32:                                             ; preds = %bb22
426   unreachable
427
428 bb34:                                             ; preds = %bb23
429   unreachable
430
431 bb36:                                             ; preds = %bb29, %bb28
432   br i1 undef, label %bb38, label %bb37
433
434 bb37:                                             ; preds = %bb36
435   br label %bb39
436
437 bb38:                                             ; preds = %bb36
438   br label %bb39
439
440 bb39:                                             ; preds = %bb38, %bb37
441   br i1 undef, label %bb41, label %bb40
442
443 bb40:                                             ; preds = %bb39
444   unreachable
445
446 bb41:                                             ; preds = %bb39
447   br label %bb42
448
449 bb42:                                             ; preds = %bb41, %bb27
450   br i1 undef, label %bb43, label %bb214
451
452 bb43:                                             ; preds = %bb42
453   br i1 undef, label %bb47, label %bb45
454
455 bb45:                                             ; preds = %bb130, %bb128, %bb126, %bb124, %bb122, %bb120, %bb118, %bb116, %bb114, %bb112, %bb110, %bb108, %bb105, %bb102, %bb100, %bb96, %bb94, %bb90, %bb88, %bb84, %bb82, %bb78, %bb76, %bb72, %bb70, %bb66, %bb64, %bb60, %bb58, %bb54, %bb51, %bb43
456   unreachable
457
458 bb47:                                             ; preds = %bb43
459   br i1 undef, label %bb48, label %bb106
460
461 bb48:                                             ; preds = %bb47
462   br i1 undef, label %bb50, label %bb49
463
464 bb49:                                             ; preds = %bb48
465   br label %bb51
466
467 bb50:                                             ; preds = %bb48
468   br label %bb51
469
470 bb51:                                             ; preds = %bb50, %bb49
471   br i1 undef, label %bb53, label %bb45
472
473 bb53:                                             ; preds = %bb51
474   br i1 undef, label %bb54, label %bb134
475
476 bb54:                                             ; preds = %bb53
477   br i1 undef, label %bb55, label %bb45
478
479 bb55:                                             ; preds = %bb54
480   br i1 undef, label %bb57, label %bb56
481
482 bb56:                                             ; preds = %bb55
483   br label %bb58
484
485 bb57:                                             ; preds = %bb55
486   br label %bb58
487
488 bb58:                                             ; preds = %bb57, %bb56
489   br i1 undef, label %bb60, label %bb45
490
491 bb60:                                             ; preds = %bb58
492   br i1 undef, label %bb61, label %bb45
493
494 bb61:                                             ; preds = %bb60
495   br i1 undef, label %bb63, label %bb62
496
497 bb62:                                             ; preds = %bb61
498   br label %bb64
499
500 bb63:                                             ; preds = %bb61
501   br label %bb64
502
503 bb64:                                             ; preds = %bb63, %bb62
504   br i1 undef, label %bb66, label %bb45
505
506 bb66:                                             ; preds = %bb64
507   br i1 undef, label %bb67, label %bb45
508
509 bb67:                                             ; preds = %bb66
510   br i1 undef, label %bb69, label %bb68
511
512 bb68:                                             ; preds = %bb67
513   br label %bb70
514
515 bb69:                                             ; preds = %bb67
516   br label %bb70
517
518 bb70:                                             ; preds = %bb69, %bb68
519   br i1 undef, label %bb72, label %bb45
520
521 bb72:                                             ; preds = %bb70
522   br i1 undef, label %bb73, label %bb45
523
524 bb73:                                             ; preds = %bb72
525   br i1 undef, label %bb75, label %bb74
526
527 bb74:                                             ; preds = %bb73
528   br label %bb76
529
530 bb75:                                             ; preds = %bb73
531   br label %bb76
532
533 bb76:                                             ; preds = %bb75, %bb74
534   br i1 undef, label %bb78, label %bb45
535
536 bb78:                                             ; preds = %bb76
537   br i1 undef, label %bb79, label %bb45
538
539 bb79:                                             ; preds = %bb78
540   br i1 undef, label %bb81, label %bb80
541
542 bb80:                                             ; preds = %bb79
543   br label %bb82
544
545 bb81:                                             ; preds = %bb79
546   br label %bb82
547
548 bb82:                                             ; preds = %bb81, %bb80
549   br i1 undef, label %bb84, label %bb45
550
551 bb84:                                             ; preds = %bb82
552   br i1 undef, label %bb85, label %bb45
553
554 bb85:                                             ; preds = %bb84
555   br i1 undef, label %bb87, label %bb86
556
557 bb86:                                             ; preds = %bb85
558   br label %bb88
559
560 bb87:                                             ; preds = %bb85
561   br label %bb88
562
563 bb88:                                             ; preds = %bb87, %bb86
564   br i1 undef, label %bb90, label %bb45
565
566 bb90:                                             ; preds = %bb88
567   br i1 undef, label %bb91, label %bb45
568
569 bb91:                                             ; preds = %bb90
570   br i1 undef, label %bb93, label %bb92
571
572 bb92:                                             ; preds = %bb91
573   br label %bb94
574
575 bb93:                                             ; preds = %bb91
576   br label %bb94
577
578 bb94:                                             ; preds = %bb93, %bb92
579   br i1 undef, label %bb96, label %bb45
580
581 bb96:                                             ; preds = %bb94
582   br i1 undef, label %bb97, label %bb45
583
584 bb97:                                             ; preds = %bb96
585   br i1 undef, label %bb99, label %bb98
586
587 bb98:                                             ; preds = %bb97
588   br label %bb100
589
590 bb99:                                             ; preds = %bb97
591   br label %bb100
592
593 bb100:                                            ; preds = %bb99, %bb98
594   br i1 undef, label %bb102, label %bb45
595
596 bb102:                                            ; preds = %bb100
597   br i1 undef, label %bb104, label %bb45
598
599 bb104:                                            ; preds = %bb102
600   br i1 undef, label %bb108, label %bb105
601
602 bb105:                                            ; preds = %bb104
603   br i1 undef, label %bb108, label %bb45
604
605 bb106:                                            ; preds = %bb47
606   unreachable
607
608 bb108:                                            ; preds = %bb105, %bb104
609   br i1 undef, label %bb110, label %bb45
610
611 bb110:                                            ; preds = %bb108
612   br i1 undef, label %bb112, label %bb45
613
614 bb112:                                            ; preds = %bb110
615   br i1 undef, label %bb114, label %bb45
616
617 bb114:                                            ; preds = %bb112
618   br i1 undef, label %bb116, label %bb45
619
620 bb116:                                            ; preds = %bb114
621   br i1 undef, label %bb118, label %bb45
622
623 bb118:                                            ; preds = %bb116
624   br i1 undef, label %bb120, label %bb45
625
626 bb120:                                            ; preds = %bb118
627   br i1 undef, label %bb122, label %bb45
628
629 bb122:                                            ; preds = %bb120
630   br i1 undef, label %bb124, label %bb45
631
632 bb124:                                            ; preds = %bb122
633   br i1 undef, label %bb126, label %bb45
634
635 bb126:                                            ; preds = %bb124
636   br i1 undef, label %bb128, label %bb45
637
638 bb128:                                            ; preds = %bb126
639   br i1 undef, label %bb130, label %bb45
640
641 bb130:                                            ; preds = %bb128
642   br i1 undef, label %bb132, label %bb45
643
644 bb132:                                            ; preds = %bb130
645   br i1 undef, label %bb135, label %bb30
646
647 bb134:                                            ; preds = %bb53
648   unreachable
649
650 bb135:                                            ; preds = %bb132
651   br i1 undef, label %bb139, label %bb136
652
653 bb136:                                            ; preds = %bb135
654   br i1 undef, label %bb138, label %bb30
655
656 bb138:                                            ; preds = %bb136
657   br label %bb139
658
659 bb139:                                            ; preds = %bb138, %bb135
660   br i1 undef, label %bb140, label %bb141
661
662 bb140:                                            ; preds = %bb139
663   unreachable
664
665 bb141:                                            ; preds = %bb139
666   br i1 undef, label %bb142, label %bb215
667
668 bb142:                                            ; preds = %bb141
669   br i1 undef, label %bb144, label %bb143
670
671 bb143:                                            ; preds = %bb142
672   br label %bb145
673
674 bb144:                                            ; preds = %bb142
675   br label %bb145
676
677 bb145:                                            ; preds = %bb144, %bb143
678   br i1 undef, label %bb146, label %bb151
679
680 bb146:                                            ; preds = %bb145
681   br i1 undef, label %bb148, label %bb153
682
683 bb148:                                            ; preds = %bb146
684   br i1 undef, label %bb155, label %bb149
685
686 bb149:                                            ; preds = %bb148
687   br i1 undef, label %bb150, label %bb153
688
689 bb150:                                            ; preds = %bb149
690   br label %bb155
691
692 bb151:                                            ; preds = %bb145
693   unreachable
694
695 bb153:                                            ; preds = %bb158, %bb149, %bb146
696   unreachable
697
698 bb155:                                            ; preds = %bb150, %bb148
699   br i1 undef, label %bb157, label %bb156
700
701 bb156:                                            ; preds = %bb155
702   br label %bb158
703
704 bb157:                                            ; preds = %bb155
705   br label %bb158
706
707 bb158:                                            ; preds = %bb157, %bb156
708   br i1 undef, label %bb160, label %bb153
709
710 bb160:                                            ; preds = %bb158
711   br i1 undef, label %bb162, label %bb161
712
713 bb161:                                            ; preds = %bb160
714   br label %bb163
715
716 bb162:                                            ; preds = %bb160
717   br label %bb163
718
719 bb163:                                            ; preds = %bb162, %bb161
720   br i1 undef, label %bb165, label %bb164
721
722 bb164:                                            ; preds = %bb163
723   br label %bb165
724
725 bb165:                                            ; preds = %bb164, %bb163
726   br i1 undef, label %bb170, label %bb166
727
728 bb166:                                            ; preds = %bb165
729   br i1 undef, label %bb167, label %bb168
730
731 bb167:                                            ; preds = %bb166
732   unreachable
733
734 bb168:                                            ; preds = %bb166
735   unreachable
736
737 bb170:                                            ; preds = %bb165
738   br i1 undef, label %bb215, label %bb171
739
740 bb171:                                            ; preds = %bb170
741   br i1 undef, label %bb173, label %bb30
742
743 bb173:                                            ; preds = %bb171
744   br i1 undef, label %bb174, label %bb215
745
746 bb174:                                            ; preds = %bb173
747   br i1 undef, label %bb176, label %bb30
748
749 bb176:                                            ; preds = %bb174
750   br i1 undef, label %bb178, label %bb30
751
752 bb178:                                            ; preds = %bb176
753   br i1 undef, label %bb179, label %bb193
754
755 bb179:                                            ; preds = %bb178
756   br i1 undef, label %bb181, label %bb180
757
758 bb180:                                            ; preds = %bb179
759   br label %bb182
760
761 bb181:                                            ; preds = %bb179
762   br label %bb182
763
764 bb182:                                            ; preds = %bb181, %bb180
765   br i1 undef, label %bb184, label %bb30
766
767 bb184:                                            ; preds = %bb182
768   %tmp185 = call i8* @returner()
769   br i1 undef, label %bb186, label %bb195
770
771 bb186:                                            ; preds = %bb184
772   %tmp188 = call i8* @objc_retainAutoreleasedReturnValue(i8* %tmp185)
773   %tmp189 = call i8* @objc_retain(i8* %tmp188)
774   call void @objc_release(i8* %tmp189), !clang.imprecise_release !0
775   br i1 undef, label %bb197, label %bb190
776
777 bb190:                                            ; preds = %bb186
778   br i1 undef, label %bb192, label %bb195
779
780 bb192:                                            ; preds = %bb190
781   br i1 undef, label %bb197, label %bb195
782
783 bb193:                                            ; preds = %bb178
784   br label %bb213
785
786 bb195:                                            ; preds = %bb192, %bb190, %bb184
787   unreachable
788
789 bb197:                                            ; preds = %bb192, %bb186
790   br i1 undef, label %bb198, label %bb215
791
792 bb198:                                            ; preds = %bb197
793   br i1 undef, label %bb202, label %bb199
794
795 bb199:                                            ; preds = %bb198
796   br i1 undef, label %bb201, label %bb30
797
798 bb201:                                            ; preds = %bb199
799   br label %bb202
800
801 bb202:                                            ; preds = %bb201, %bb198
802   br i1 undef, label %bb206, label %bb203
803
804 bb203:                                            ; preds = %bb202
805   br i1 undef, label %bb205, label %bb30
806
807 bb205:                                            ; preds = %bb203
808   br label %bb206
809
810 bb206:                                            ; preds = %bb205, %bb202
811   br i1 undef, label %bb210, label %bb207
812
813 bb207:                                            ; preds = %bb206
814   br i1 undef, label %bb209, label %bb30
815
816 bb209:                                            ; preds = %bb207
817   br label %bb210
818
819 bb210:                                            ; preds = %bb209, %bb206
820   br i1 undef, label %bb212, label %bb30
821
822 bb212:                                            ; preds = %bb210
823   unreachable
824
825 bb213:                                            ; preds = %bb193, %bb30
826   resume { i8*, i32 } undef
827
828 bb214:                                            ; preds = %bb42
829   br label %bb219
830
831 bb215:                                            ; preds = %bb197, %bb173, %bb170, %bb141
832   br i1 undef, label %bb217, label %bb216
833
834 bb216:                                            ; preds = %bb215
835   br label %bb217
836
837 bb217:                                            ; preds = %bb216, %bb215
838   br i1 undef, label %bb219, label %bb218
839
840 bb218:                                            ; preds = %bb217
841   br label %bb219
842
843 bb219:                                            ; preds = %bb218, %bb217, %bb214
844   br i1 undef, label %bb221, label %bb220
845
846 bb220:                                            ; preds = %bb219
847   unreachable
848
849 bb221:                                            ; preds = %bb219
850   unreachable
851
852 bb222:                                            ; preds = %bb20, %bb19
853   ret void
854 }
855
856
857 !0 = metadata !{}