IR: Make metadata typeless in assembly
[oota-llvm.git] / test / Transforms / ObjCARC / path-overflow.ll
1 ; RUN: opt -objc-arc -S < %s
2 ; rdar://12277446
3 ; rdar://12480535
4 ; rdar://14590914
5 ; rdar://15377890
6
7 ; The total number of paths grows exponentially with the number of branches, and a
8 ; computation of this number can overflow any reasonable fixed-sized
9 ; integer. This can occur in both the addition phase when we are adding up the
10 ; total bottomup/topdown paths and when we multiply them together at the end.
11
12 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"
13 target triple = "thumbv7-apple-ios5.0.0"
14
15 %struct.NSConstantString = type { i32*, i32, i8*, i32 }
16 %struct.CGPoint = type { float, float }
17
18 @_unnamed_cfstring = external constant %struct.NSConstantString, section "__DATA,__cfstring"
19 @_unnamed_cfstring_2 = external constant %struct.NSConstantString, section "__DATA,__cfstring"
20
21 declare i8* @objc_retain(i8*) nonlazybind
22 declare i8* @objc_retainAutoreleasedReturnValue(i8*) nonlazybind
23 declare void @objc_release(i8*) nonlazybind
24 declare i8* @returner()
25 declare i8* @objc_msgSend(i8*, i8*, ...) nonlazybind
26 declare void @NSLog(i8*, ...)
27 declare void @objc_msgSend_stret(i8*, i8*, ...)
28 declare i32 @__gxx_personality_sj0(...)
29 declare i32 @__objc_personality_v0(...)
30
31
32 define hidden void @test1() {
33 entry:
34   br i1 undef, label %msgSend.nullinit, label %msgSend.call
35
36 msgSend.call:                                     ; preds = %entry
37   br label %msgSend.cont
38
39 msgSend.nullinit:                                 ; preds = %entry
40   br label %msgSend.cont
41
42 msgSend.cont:                                     ; preds = %msgSend.nullinit, %msgSend.call
43   %0 = bitcast %struct.NSConstantString* @_unnamed_cfstring to i8*
44   %1 = call i8* @objc_retain(i8* %0) nounwind
45   br i1 undef, label %msgSend.nullinit33, label %msgSend.call32
46
47 msgSend.call32:                                   ; preds = %if.end10
48   br label %msgSend.cont34
49
50 msgSend.nullinit33:                               ; preds = %if.end10
51   br label %msgSend.cont34
52
53 msgSend.cont34:                                   ; preds = %msgSend.nullinit33, %msgSend.call32
54   br i1 undef, label %msgSend.nullinit38, label %msgSend.call37
55
56 msgSend.call37:                                   ; preds = %msgSend.cont34
57   br label %msgSend.cont39
58
59 msgSend.nullinit38:                               ; preds = %msgSend.cont34
60   br label %msgSend.cont39
61
62 msgSend.cont39:                                   ; preds = %msgSend.nullinit38, %msgSend.call37
63   br i1 undef, label %msgSend.nullinit49, label %msgSend.call48
64
65 msgSend.call48:                                   ; preds = %msgSend.cont39
66   br label %msgSend.cont50
67
68 msgSend.nullinit49:                               ; preds = %msgSend.cont39
69   br label %msgSend.cont50
70
71 msgSend.cont50:                                   ; preds = %msgSend.nullinit49, %msgSend.call48
72   br i1 undef, label %msgSend.nullinit61, label %msgSend.call60
73
74 msgSend.call60:                                   ; preds = %msgSend.cont50
75   br label %msgSend.cont62
76
77 msgSend.nullinit61:                               ; preds = %msgSend.cont50
78   br label %msgSend.cont62
79
80 msgSend.cont62:                                   ; preds = %msgSend.nullinit61, %msgSend.call60
81   br i1 undef, label %msgSend.nullinit67, label %msgSend.call66
82
83 msgSend.call66:                                   ; preds = %msgSend.cont62
84   br label %msgSend.cont68
85
86 msgSend.nullinit67:                               ; preds = %msgSend.cont62
87   br label %msgSend.cont68
88
89 msgSend.cont68:                                   ; preds = %msgSend.nullinit67, %msgSend.call66
90   br i1 undef, label %msgSend.nullinit84, label %msgSend.call83
91
92 msgSend.call83:                                   ; preds = %msgSend.cont68
93   br label %msgSend.cont85
94
95 msgSend.nullinit84:                               ; preds = %msgSend.cont68
96   br label %msgSend.cont85
97
98 msgSend.cont85:                                   ; preds = %msgSend.nullinit84, %msgSend.call83
99   br i1 undef, label %msgSend.nullinit90, label %msgSend.call89
100
101 msgSend.call89:                                   ; preds = %msgSend.cont85
102   br label %msgSend.cont91
103
104 msgSend.nullinit90:                               ; preds = %msgSend.cont85
105   br label %msgSend.cont91
106
107 msgSend.cont91:                                   ; preds = %msgSend.nullinit90, %msgSend.call89
108   br i1 undef, label %msgSend.nullinit104, label %msgSend.call103
109
110 msgSend.call103:                                  ; preds = %msgSend.cont91
111   br label %msgSend.cont105
112
113 msgSend.nullinit104:                              ; preds = %msgSend.cont91
114   br label %msgSend.cont105
115
116 msgSend.cont105:                                  ; preds = %msgSend.nullinit104, %msgSend.call103
117   br i1 undef, label %land.lhs.true, label %if.end123
118
119 land.lhs.true:                                    ; preds = %msgSend.cont105
120   br i1 undef, label %if.then117, label %if.end123
121
122 if.then117:                                       ; preds = %land.lhs.true
123   br label %if.end123
124
125 if.end123:                                        ; preds = %if.then117, %land.lhs.true, %msgSend.cont105
126   br i1 undef, label %msgSend.nullinit132, label %msgSend.call131
127
128 msgSend.call131:                                  ; preds = %if.end123
129   br label %msgSend.cont133
130
131 msgSend.nullinit132:                              ; preds = %if.end123
132   br label %msgSend.cont133
133
134 msgSend.cont133:                                  ; preds = %msgSend.nullinit132, %msgSend.call131
135   br i1 undef, label %msgSend.nullinit139, label %msgSend.call138
136
137 msgSend.call138:                                  ; preds = %msgSend.cont133
138   br label %msgSend.cont140
139
140 msgSend.nullinit139:                              ; preds = %msgSend.cont133
141   br label %msgSend.cont140
142
143 msgSend.cont140:                                  ; preds = %msgSend.nullinit139, %msgSend.call138
144   br i1 undef, label %if.then151, label %if.end157
145
146 if.then151:                                       ; preds = %msgSend.cont140
147   br label %if.end157
148
149 if.end157:                                        ; preds = %if.then151, %msgSend.cont140
150   br i1 undef, label %msgSend.nullinit164, label %msgSend.call163
151
152 msgSend.call163:                                  ; preds = %if.end157
153   br label %msgSend.cont165
154
155 msgSend.nullinit164:                              ; preds = %if.end157
156   br label %msgSend.cont165
157
158 msgSend.cont165:                                  ; preds = %msgSend.nullinit164, %msgSend.call163
159   br i1 undef, label %msgSend.nullinit176, label %msgSend.call175
160
161 msgSend.call175:                                  ; preds = %msgSend.cont165
162   br label %msgSend.cont177
163
164 msgSend.nullinit176:                              ; preds = %msgSend.cont165
165   br label %msgSend.cont177
166
167 msgSend.cont177:                                  ; preds = %msgSend.nullinit176, %msgSend.call175
168   br i1 undef, label %land.lhs.true181, label %if.end202
169
170 land.lhs.true181:                                 ; preds = %msgSend.cont177
171   br i1 undef, label %if.then187, label %if.end202
172
173 if.then187:                                       ; preds = %land.lhs.true181
174   br i1 undef, label %msgSend.nullinit199, label %msgSend.call198
175
176 msgSend.call198:                                  ; preds = %if.then187
177   br label %msgSend.cont200
178
179 msgSend.nullinit199:                              ; preds = %if.then187
180   br label %msgSend.cont200
181
182 msgSend.cont200:                                  ; preds = %msgSend.nullinit199, %msgSend.call198
183   br label %if.end202
184
185 if.end202:                                        ; preds = %msgSend.cont200, %land.lhs.true181, %msgSend.cont177
186   br i1 undef, label %msgSend.nullinit236, label %msgSend.call235
187
188 msgSend.call235:                                  ; preds = %if.end202
189   br label %msgSend.cont237
190
191 msgSend.nullinit236:                              ; preds = %if.end202
192   br label %msgSend.cont237
193
194 msgSend.cont237:                                  ; preds = %msgSend.nullinit236, %msgSend.call235
195   br i1 undef, label %msgSend.nullinit254, label %msgSend.call253
196
197 msgSend.call253:                                  ; preds = %msgSend.cont237
198   br label %msgSend.cont255
199
200 msgSend.nullinit254:                              ; preds = %msgSend.cont237
201   br label %msgSend.cont255
202
203 msgSend.cont255:                                  ; preds = %msgSend.nullinit254, %msgSend.call253
204   br i1 undef, label %msgSend.nullinit269, label %msgSend.call268
205
206 msgSend.call268:                                  ; preds = %msgSend.cont255
207   br label %msgSend.cont270
208
209 msgSend.nullinit269:                              ; preds = %msgSend.cont255
210   br label %msgSend.cont270
211
212 msgSend.cont270:                                  ; preds = %msgSend.nullinit269, %msgSend.call268
213   br i1 undef, label %msgSend.nullinit281, label %msgSend.call280
214
215 msgSend.call280:                                  ; preds = %msgSend.cont270
216   br label %msgSend.cont282
217
218 msgSend.nullinit281:                              ; preds = %msgSend.cont270
219   br label %msgSend.cont282
220
221 msgSend.cont282:                                  ; preds = %msgSend.nullinit281, %msgSend.call280
222   br i1 undef, label %msgSend.nullinit287, label %msgSend.call286
223
224 msgSend.call286:                                  ; preds = %msgSend.cont282
225   br label %msgSend.cont288
226
227 msgSend.nullinit287:                              ; preds = %msgSend.cont282
228   br label %msgSend.cont288
229
230 msgSend.cont288:                                  ; preds = %msgSend.nullinit287, %msgSend.call286
231   br i1 undef, label %msgSend.nullinit303, label %msgSend.call302
232
233 msgSend.call302:                                  ; preds = %msgSend.cont288
234   br label %msgSend.cont304
235
236 msgSend.nullinit303:                              ; preds = %msgSend.cont288
237   br label %msgSend.cont304
238
239 msgSend.cont304:                                  ; preds = %msgSend.nullinit303, %msgSend.call302
240   br i1 undef, label %msgSend.nullinit344, label %msgSend.call343
241
242 msgSend.call343:                                  ; preds = %msgSend.cont304
243   br label %msgSend.cont345
244
245 msgSend.nullinit344:                              ; preds = %msgSend.cont304
246   br label %msgSend.cont345
247
248 msgSend.cont345:                                  ; preds = %msgSend.nullinit344, %msgSend.call343
249   br i1 undef, label %msgSend.nullinit350, label %msgSend.call349
250
251 msgSend.call349:                                  ; preds = %msgSend.cont345
252   br label %msgSend.cont351
253
254 msgSend.nullinit350:                              ; preds = %msgSend.cont345
255   br label %msgSend.cont351
256
257 msgSend.cont351:                                  ; preds = %msgSend.nullinit350, %msgSend.call349
258   br i1 undef, label %msgSend.nullinit366, label %msgSend.call365
259
260 msgSend.call365:                                  ; preds = %msgSend.cont351
261   br label %msgSend.cont367
262
263 msgSend.nullinit366:                              ; preds = %msgSend.cont351
264   br label %msgSend.cont367
265
266 msgSend.cont367:                                  ; preds = %msgSend.nullinit366, %msgSend.call365
267   br i1 undef, label %msgSend.nullinit376, label %msgSend.call375
268
269 msgSend.call375:                                  ; preds = %msgSend.cont367
270   br label %msgSend.cont377
271
272 msgSend.nullinit376:                              ; preds = %msgSend.cont367
273   br label %msgSend.cont377
274
275 msgSend.cont377:                                  ; preds = %msgSend.nullinit376, %msgSend.call375
276   br i1 undef, label %if.then384, label %if.else401
277
278 if.then384:                                       ; preds = %msgSend.cont377
279   br i1 undef, label %msgSend.nullinit392, label %msgSend.call391
280
281 msgSend.call391:                                  ; preds = %if.then384
282   br label %msgSend.cont393
283
284 msgSend.nullinit392:                              ; preds = %if.then384
285   br label %msgSend.cont393
286
287 msgSend.cont393:                                  ; preds = %msgSend.nullinit392, %msgSend.call391
288   br label %if.end418
289
290 if.else401:                                       ; preds = %msgSend.cont377
291   br i1 undef, label %msgSend.nullinit409, label %msgSend.call408
292
293 msgSend.call408:                                  ; preds = %if.else401
294   br label %msgSend.cont410
295
296 msgSend.nullinit409:                              ; preds = %if.else401
297   br label %msgSend.cont410
298
299 msgSend.cont410:                                  ; preds = %msgSend.nullinit409, %msgSend.call408
300   br label %if.end418
301
302 if.end418:                                        ; preds = %msgSend.cont410, %msgSend.cont393
303   br i1 undef, label %msgSend.nullinit470, label %msgSend.call469
304
305 msgSend.call469:                                  ; preds = %if.end418
306   br label %msgSend.cont471
307
308 msgSend.nullinit470:                              ; preds = %if.end418
309   br label %msgSend.cont471
310
311 msgSend.cont471:                                  ; preds = %msgSend.nullinit470, %msgSend.call469
312   br i1 undef, label %msgSend.nullinit484, label %msgSend.call483
313
314 msgSend.call483:                                  ; preds = %msgSend.cont471
315   br label %msgSend.cont485
316
317 msgSend.nullinit484:                              ; preds = %msgSend.cont471
318   br label %msgSend.cont485
319
320 msgSend.cont485:                                  ; preds = %msgSend.nullinit484, %msgSend.call483
321   br i1 undef, label %msgSend.nullinit500, label %msgSend.call499
322
323 msgSend.call499:                                  ; preds = %msgSend.cont485
324   br label %msgSend.cont501
325
326 msgSend.nullinit500:                              ; preds = %msgSend.cont485
327   br label %msgSend.cont501
328
329 msgSend.cont501:                                  ; preds = %msgSend.nullinit500, %msgSend.call499
330   br i1 undef, label %msgSend.nullinit506, label %msgSend.call505
331
332 msgSend.call505:                                  ; preds = %msgSend.cont501
333   br label %msgSend.cont507
334
335 msgSend.nullinit506:                              ; preds = %msgSend.cont501
336   br label %msgSend.cont507
337
338 msgSend.cont507:                                  ; preds = %msgSend.nullinit506, %msgSend.call505
339   call void @objc_release(i8* %0) nounwind, !clang.imprecise_release !0
340   ret void
341 }
342
343 ; Function Attrs: optsize ssp uwtable
344 define void @test2() unnamed_addr align 2 {
345 bb:
346   br i1 undef, label %bb3, label %bb2
347
348 bb2:                                              ; preds = %bb
349   br label %bb3
350
351 bb3:                                              ; preds = %bb2, %bb
352   br i1 undef, label %bb5, label %bb4
353
354 bb4:                                              ; preds = %bb3
355   br label %bb5
356
357 bb5:                                              ; preds = %bb4, %bb3
358   br i1 undef, label %bb7, label %bb6
359
360 bb6:                                              ; preds = %bb5
361   br label %bb7
362
363 bb7:                                              ; preds = %bb6, %bb5
364   br i1 undef, label %bb9, label %bb8
365
366 bb8:                                              ; preds = %bb7
367   unreachable
368
369 bb9:                                              ; preds = %bb7
370   br i1 undef, label %bb11, label %bb10
371
372 bb10:                                             ; preds = %bb9
373   br label %bb11
374
375 bb11:                                             ; preds = %bb10, %bb9
376   br i1 undef, label %bb13, label %bb12
377
378 bb12:                                             ; preds = %bb11
379   br label %bb13
380
381 bb13:                                             ; preds = %bb12, %bb11
382   br i1 undef, label %bb15, label %bb14
383
384 bb14:                                             ; preds = %bb13
385   br label %bb15
386
387 bb15:                                             ; preds = %bb14, %bb13
388   br i1 undef, label %bb17, label %bb16
389
390 bb16:                                             ; preds = %bb15
391   br label %bb17
392
393 bb17:                                             ; preds = %bb16, %bb15
394   br i1 undef, label %bb19, label %bb18
395
396 bb18:                                             ; preds = %bb17
397   br label %bb19
398
399 bb19:                                             ; preds = %bb18, %bb17
400   br i1 undef, label %bb222, label %bb20
401
402 bb20:                                             ; preds = %bb19
403   br i1 undef, label %bb222, label %bb21
404
405 bb21:                                             ; preds = %bb20
406   br i1 undef, label %bb22, label %bb30
407
408 bb22:                                             ; preds = %bb21
409   br i1 undef, label %bb23, label %bb32
410
411 bb23:                                             ; preds = %bb22
412   br i1 undef, label %bb24, label %bb34
413
414 bb24:                                             ; preds = %bb23
415   br i1 undef, label %bb26, label %bb25
416
417 bb25:                                             ; preds = %bb24
418   br label %bb27
419
420 bb26:                                             ; preds = %bb24
421   br label %bb27
422
423 bb27:                                             ; preds = %bb26, %bb25
424   br i1 undef, label %bb28, label %bb42
425
426 bb28:                                             ; preds = %bb27
427   br i1 undef, label %bb36, label %bb29
428
429 bb29:                                             ; preds = %bb28
430   br label %bb36
431
432 bb30:                                             ; preds = %bb210, %bb207, %bb203, %bb199, %bb182, %bb176, %bb174, %bb171, %bb136, %bb132, %bb21
433   br label %bb213
434
435 bb32:                                             ; preds = %bb22
436   unreachable
437
438 bb34:                                             ; preds = %bb23
439   unreachable
440
441 bb36:                                             ; preds = %bb29, %bb28
442   br i1 undef, label %bb38, label %bb37
443
444 bb37:                                             ; preds = %bb36
445   br label %bb39
446
447 bb38:                                             ; preds = %bb36
448   br label %bb39
449
450 bb39:                                             ; preds = %bb38, %bb37
451   br i1 undef, label %bb41, label %bb40
452
453 bb40:                                             ; preds = %bb39
454   unreachable
455
456 bb41:                                             ; preds = %bb39
457   br label %bb42
458
459 bb42:                                             ; preds = %bb41, %bb27
460   br i1 undef, label %bb43, label %bb214
461
462 bb43:                                             ; preds = %bb42
463   br i1 undef, label %bb47, label %bb45
464
465 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
466   unreachable
467
468 bb47:                                             ; preds = %bb43
469   br i1 undef, label %bb48, label %bb106
470
471 bb48:                                             ; preds = %bb47
472   br i1 undef, label %bb50, label %bb49
473
474 bb49:                                             ; preds = %bb48
475   br label %bb51
476
477 bb50:                                             ; preds = %bb48
478   br label %bb51
479
480 bb51:                                             ; preds = %bb50, %bb49
481   br i1 undef, label %bb53, label %bb45
482
483 bb53:                                             ; preds = %bb51
484   br i1 undef, label %bb54, label %bb134
485
486 bb54:                                             ; preds = %bb53
487   br i1 undef, label %bb55, label %bb45
488
489 bb55:                                             ; preds = %bb54
490   br i1 undef, label %bb57, label %bb56
491
492 bb56:                                             ; preds = %bb55
493   br label %bb58
494
495 bb57:                                             ; preds = %bb55
496   br label %bb58
497
498 bb58:                                             ; preds = %bb57, %bb56
499   br i1 undef, label %bb60, label %bb45
500
501 bb60:                                             ; preds = %bb58
502   br i1 undef, label %bb61, label %bb45
503
504 bb61:                                             ; preds = %bb60
505   br i1 undef, label %bb63, label %bb62
506
507 bb62:                                             ; preds = %bb61
508   br label %bb64
509
510 bb63:                                             ; preds = %bb61
511   br label %bb64
512
513 bb64:                                             ; preds = %bb63, %bb62
514   br i1 undef, label %bb66, label %bb45
515
516 bb66:                                             ; preds = %bb64
517   br i1 undef, label %bb67, label %bb45
518
519 bb67:                                             ; preds = %bb66
520   br i1 undef, label %bb69, label %bb68
521
522 bb68:                                             ; preds = %bb67
523   br label %bb70
524
525 bb69:                                             ; preds = %bb67
526   br label %bb70
527
528 bb70:                                             ; preds = %bb69, %bb68
529   br i1 undef, label %bb72, label %bb45
530
531 bb72:                                             ; preds = %bb70
532   br i1 undef, label %bb73, label %bb45
533
534 bb73:                                             ; preds = %bb72
535   br i1 undef, label %bb75, label %bb74
536
537 bb74:                                             ; preds = %bb73
538   br label %bb76
539
540 bb75:                                             ; preds = %bb73
541   br label %bb76
542
543 bb76:                                             ; preds = %bb75, %bb74
544   br i1 undef, label %bb78, label %bb45
545
546 bb78:                                             ; preds = %bb76
547   br i1 undef, label %bb79, label %bb45
548
549 bb79:                                             ; preds = %bb78
550   br i1 undef, label %bb81, label %bb80
551
552 bb80:                                             ; preds = %bb79
553   br label %bb82
554
555 bb81:                                             ; preds = %bb79
556   br label %bb82
557
558 bb82:                                             ; preds = %bb81, %bb80
559   br i1 undef, label %bb84, label %bb45
560
561 bb84:                                             ; preds = %bb82
562   br i1 undef, label %bb85, label %bb45
563
564 bb85:                                             ; preds = %bb84
565   br i1 undef, label %bb87, label %bb86
566
567 bb86:                                             ; preds = %bb85
568   br label %bb88
569
570 bb87:                                             ; preds = %bb85
571   br label %bb88
572
573 bb88:                                             ; preds = %bb87, %bb86
574   br i1 undef, label %bb90, label %bb45
575
576 bb90:                                             ; preds = %bb88
577   br i1 undef, label %bb91, label %bb45
578
579 bb91:                                             ; preds = %bb90
580   br i1 undef, label %bb93, label %bb92
581
582 bb92:                                             ; preds = %bb91
583   br label %bb94
584
585 bb93:                                             ; preds = %bb91
586   br label %bb94
587
588 bb94:                                             ; preds = %bb93, %bb92
589   br i1 undef, label %bb96, label %bb45
590
591 bb96:                                             ; preds = %bb94
592   br i1 undef, label %bb97, label %bb45
593
594 bb97:                                             ; preds = %bb96
595   br i1 undef, label %bb99, label %bb98
596
597 bb98:                                             ; preds = %bb97
598   br label %bb100
599
600 bb99:                                             ; preds = %bb97
601   br label %bb100
602
603 bb100:                                            ; preds = %bb99, %bb98
604   br i1 undef, label %bb102, label %bb45
605
606 bb102:                                            ; preds = %bb100
607   br i1 undef, label %bb104, label %bb45
608
609 bb104:                                            ; preds = %bb102
610   br i1 undef, label %bb108, label %bb105
611
612 bb105:                                            ; preds = %bb104
613   br i1 undef, label %bb108, label %bb45
614
615 bb106:                                            ; preds = %bb47
616   unreachable
617
618 bb108:                                            ; preds = %bb105, %bb104
619   br i1 undef, label %bb110, label %bb45
620
621 bb110:                                            ; preds = %bb108
622   br i1 undef, label %bb112, label %bb45
623
624 bb112:                                            ; preds = %bb110
625   br i1 undef, label %bb114, label %bb45
626
627 bb114:                                            ; preds = %bb112
628   br i1 undef, label %bb116, label %bb45
629
630 bb116:                                            ; preds = %bb114
631   br i1 undef, label %bb118, label %bb45
632
633 bb118:                                            ; preds = %bb116
634   br i1 undef, label %bb120, label %bb45
635
636 bb120:                                            ; preds = %bb118
637   br i1 undef, label %bb122, label %bb45
638
639 bb122:                                            ; preds = %bb120
640   br i1 undef, label %bb124, label %bb45
641
642 bb124:                                            ; preds = %bb122
643   br i1 undef, label %bb126, label %bb45
644
645 bb126:                                            ; preds = %bb124
646   br i1 undef, label %bb128, label %bb45
647
648 bb128:                                            ; preds = %bb126
649   br i1 undef, label %bb130, label %bb45
650
651 bb130:                                            ; preds = %bb128
652   br i1 undef, label %bb132, label %bb45
653
654 bb132:                                            ; preds = %bb130
655   br i1 undef, label %bb135, label %bb30
656
657 bb134:                                            ; preds = %bb53
658   unreachable
659
660 bb135:                                            ; preds = %bb132
661   br i1 undef, label %bb139, label %bb136
662
663 bb136:                                            ; preds = %bb135
664   br i1 undef, label %bb138, label %bb30
665
666 bb138:                                            ; preds = %bb136
667   br label %bb139
668
669 bb139:                                            ; preds = %bb138, %bb135
670   br i1 undef, label %bb140, label %bb141
671
672 bb140:                                            ; preds = %bb139
673   unreachable
674
675 bb141:                                            ; preds = %bb139
676   br i1 undef, label %bb142, label %bb215
677
678 bb142:                                            ; preds = %bb141
679   br i1 undef, label %bb144, label %bb143
680
681 bb143:                                            ; preds = %bb142
682   br label %bb145
683
684 bb144:                                            ; preds = %bb142
685   br label %bb145
686
687 bb145:                                            ; preds = %bb144, %bb143
688   br i1 undef, label %bb146, label %bb151
689
690 bb146:                                            ; preds = %bb145
691   br i1 undef, label %bb148, label %bb153
692
693 bb148:                                            ; preds = %bb146
694   br i1 undef, label %bb155, label %bb149
695
696 bb149:                                            ; preds = %bb148
697   br i1 undef, label %bb150, label %bb153
698
699 bb150:                                            ; preds = %bb149
700   br label %bb155
701
702 bb151:                                            ; preds = %bb145
703   unreachable
704
705 bb153:                                            ; preds = %bb158, %bb149, %bb146
706   unreachable
707
708 bb155:                                            ; preds = %bb150, %bb148
709   br i1 undef, label %bb157, label %bb156
710
711 bb156:                                            ; preds = %bb155
712   br label %bb158
713
714 bb157:                                            ; preds = %bb155
715   br label %bb158
716
717 bb158:                                            ; preds = %bb157, %bb156
718   br i1 undef, label %bb160, label %bb153
719
720 bb160:                                            ; preds = %bb158
721   br i1 undef, label %bb162, label %bb161
722
723 bb161:                                            ; preds = %bb160
724   br label %bb163
725
726 bb162:                                            ; preds = %bb160
727   br label %bb163
728
729 bb163:                                            ; preds = %bb162, %bb161
730   br i1 undef, label %bb165, label %bb164
731
732 bb164:                                            ; preds = %bb163
733   br label %bb165
734
735 bb165:                                            ; preds = %bb164, %bb163
736   br i1 undef, label %bb170, label %bb166
737
738 bb166:                                            ; preds = %bb165
739   br i1 undef, label %bb167, label %bb168
740
741 bb167:                                            ; preds = %bb166
742   unreachable
743
744 bb168:                                            ; preds = %bb166
745   unreachable
746
747 bb170:                                            ; preds = %bb165
748   br i1 undef, label %bb215, label %bb171
749
750 bb171:                                            ; preds = %bb170
751   br i1 undef, label %bb173, label %bb30
752
753 bb173:                                            ; preds = %bb171
754   br i1 undef, label %bb174, label %bb215
755
756 bb174:                                            ; preds = %bb173
757   br i1 undef, label %bb176, label %bb30
758
759 bb176:                                            ; preds = %bb174
760   br i1 undef, label %bb178, label %bb30
761
762 bb178:                                            ; preds = %bb176
763   br i1 undef, label %bb179, label %bb193
764
765 bb179:                                            ; preds = %bb178
766   br i1 undef, label %bb181, label %bb180
767
768 bb180:                                            ; preds = %bb179
769   br label %bb182
770
771 bb181:                                            ; preds = %bb179
772   br label %bb182
773
774 bb182:                                            ; preds = %bb181, %bb180
775   br i1 undef, label %bb184, label %bb30
776
777 bb184:                                            ; preds = %bb182
778   %tmp185 = call i8* @returner()
779   br i1 undef, label %bb186, label %bb195
780
781 bb186:                                            ; preds = %bb184
782   %tmp188 = call i8* @objc_retainAutoreleasedReturnValue(i8* %tmp185)
783   %tmp189 = call i8* @objc_retain(i8* %tmp188)
784   call void @objc_release(i8* %tmp189), !clang.imprecise_release !0
785   br i1 undef, label %bb197, label %bb190
786
787 bb190:                                            ; preds = %bb186
788   br i1 undef, label %bb192, label %bb195
789
790 bb192:                                            ; preds = %bb190
791   br i1 undef, label %bb197, label %bb195
792
793 bb193:                                            ; preds = %bb178
794   br label %bb213
795
796 bb195:                                            ; preds = %bb192, %bb190, %bb184
797   unreachable
798
799 bb197:                                            ; preds = %bb192, %bb186
800   br i1 undef, label %bb198, label %bb215
801
802 bb198:                                            ; preds = %bb197
803   br i1 undef, label %bb202, label %bb199
804
805 bb199:                                            ; preds = %bb198
806   br i1 undef, label %bb201, label %bb30
807
808 bb201:                                            ; preds = %bb199
809   br label %bb202
810
811 bb202:                                            ; preds = %bb201, %bb198
812   br i1 undef, label %bb206, label %bb203
813
814 bb203:                                            ; preds = %bb202
815   br i1 undef, label %bb205, label %bb30
816
817 bb205:                                            ; preds = %bb203
818   br label %bb206
819
820 bb206:                                            ; preds = %bb205, %bb202
821   br i1 undef, label %bb210, label %bb207
822
823 bb207:                                            ; preds = %bb206
824   br i1 undef, label %bb209, label %bb30
825
826 bb209:                                            ; preds = %bb207
827   br label %bb210
828
829 bb210:                                            ; preds = %bb209, %bb206
830   br i1 undef, label %bb212, label %bb30
831
832 bb212:                                            ; preds = %bb210
833   unreachable
834
835 bb213:                                            ; preds = %bb193, %bb30
836   resume { i8*, i32 } undef
837
838 bb214:                                            ; preds = %bb42
839   br label %bb219
840
841 bb215:                                            ; preds = %bb197, %bb173, %bb170, %bb141
842   br i1 undef, label %bb217, label %bb216
843
844 bb216:                                            ; preds = %bb215
845   br label %bb217
846
847 bb217:                                            ; preds = %bb216, %bb215
848   br i1 undef, label %bb219, label %bb218
849
850 bb218:                                            ; preds = %bb217
851   br label %bb219
852
853 bb219:                                            ; preds = %bb218, %bb217, %bb214
854   br i1 undef, label %bb221, label %bb220
855
856 bb220:                                            ; preds = %bb219
857   unreachable
858
859 bb221:                                            ; preds = %bb219
860   unreachable
861
862 bb222:                                            ; preds = %bb20, %bb19
863   ret void
864 }
865
866 ; Function Attrs: ssp
867 define void @test3() #1 {
868 entry:
869   %call2 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
870           to label %invoke.cont unwind label %lpad
871
872 invoke.cont:                                      ; preds = %entry
873   %call5 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*)*)(i8* undef, i8* undef)
874           to label %invoke.cont4 unwind label %lpad3
875
876 invoke.cont4:                                     ; preds = %invoke.cont
877   br i1 undef, label %land.end, label %land.rhs
878
879 land.rhs:                                         ; preds = %invoke.cont4
880   %call7 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
881           to label %land.end unwind label %lpad3
882
883 land.end:                                         ; preds = %land.rhs, %invoke.cont4
884   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
885           to label %invoke.cont.i unwind label %lpad.i
886
887 invoke.cont.i:                                    ; preds = %land.end
888   br i1 undef, label %invoke.cont8, label %if.then.i
889
890 if.then.i:                                        ; preds = %invoke.cont.i
891   br label %invoke.cont8
892
893 lpad.i:                                           ; preds = %land.end
894   %tmp13 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
895           cleanup
896   unreachable
897
898 invoke.cont8:                                     ; preds = %if.then.i, %invoke.cont.i
899   %call18 = invoke i8* (i8*, i8*, i8*, ...)* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*, ...)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef)
900           to label %invoke.cont17 unwind label %lpad16
901
902 invoke.cont17:                                    ; preds = %invoke.cont8
903   %call22 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
904           to label %invoke.cont21 unwind label %lpad20
905
906 invoke.cont21:                                    ; preds = %invoke.cont17
907   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
908           to label %invoke.cont.i1980 unwind label %lpad.i1982
909
910 invoke.cont.i1980:                                ; preds = %invoke.cont21
911   br i1 undef, label %invoke.cont24, label %if.then.i1981
912
913 if.then.i1981:                                    ; preds = %invoke.cont.i1980
914   br label %invoke.cont24
915
916 lpad.i1982:                                       ; preds = %invoke.cont21
917   %tmp28 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
918           cleanup
919   unreachable
920
921 invoke.cont24:                                    ; preds = %if.then.i1981, %invoke.cont.i1980
922   %call37 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*)*)(i8* undef, i8* undef)
923           to label %invoke.cont36 unwind label %lpad35
924
925 invoke.cont36:                                    ; preds = %invoke.cont24
926   br i1 undef, label %land.end43, label %land.rhs39
927
928 land.rhs39:                                       ; preds = %invoke.cont36
929   %call41 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
930           to label %land.end43 unwind label %lpad35
931
932 land.end43:                                       ; preds = %land.rhs39, %invoke.cont36
933   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
934           to label %invoke.cont.i1986 unwind label %lpad.i1988
935
936 invoke.cont.i1986:                                ; preds = %land.end43
937   br i1 undef, label %invoke.cont44, label %if.then.i1987
938
939 if.then.i1987:                                    ; preds = %invoke.cont.i1986
940   br label %invoke.cont44
941
942 lpad.i1988:                                       ; preds = %land.end43
943   %tmp42 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
944           cleanup
945   unreachable
946
947 invoke.cont44:                                    ; preds = %if.then.i1987, %invoke.cont.i1986
948   %call53 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
949           to label %invoke.cont52 unwind label %lpad51
950
951 invoke.cont52:                                    ; preds = %invoke.cont44
952   br i1 undef, label %land.end70, label %land.rhs58
953
954 land.rhs58:                                       ; preds = %invoke.cont52
955   %call63 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 42)
956           to label %invoke.cont62 unwind label %lpad61
957
958 invoke.cont62:                                    ; preds = %land.rhs58
959   %call68 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef)
960           to label %land.end70 unwind label %lpad66.body.thread
961
962 land.end70:                                       ; preds = %invoke.cont62, %invoke.cont52
963   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
964           to label %invoke.cont.i1992 unwind label %lpad66.body
965
966 invoke.cont.i1992:                                ; preds = %land.end70
967   br i1 undef, label %invoke.cont71, label %if.then.i1993
968
969 if.then.i1993:                                    ; preds = %invoke.cont.i1992
970   br label %invoke.cont71
971
972 invoke.cont71:                                    ; preds = %if.then.i1993, %invoke.cont.i1992
973   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
974           to label %invoke.cont.i1998 unwind label %lpad.i2000
975
976 invoke.cont.i1998:                                ; preds = %invoke.cont71
977   br i1 undef, label %invoke.cont91, label %if.then.i1999
978
979 if.then.i1999:                                    ; preds = %invoke.cont.i1998
980   br label %invoke.cont91
981
982 lpad.i2000:                                       ; preds = %invoke.cont71
983   %tmp74 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
984           cleanup
985   br label %ehcleanup102
986
987 invoke.cont91:                                    ; preds = %if.then.i1999, %invoke.cont.i1998
988   %call96 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
989           to label %invoke.cont95 unwind label %lpad94
990
991 invoke.cont95:                                    ; preds = %invoke.cont91
992   %call98 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* %call96)
993           to label %invoke.cont97 unwind label %lpad94
994
995 invoke.cont97:                                    ; preds = %invoke.cont95
996   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
997           to label %invoke.cont.i2004 unwind label %lpad.i2006
998
999 invoke.cont.i2004:                                ; preds = %invoke.cont97
1000   br i1 undef, label %invoke.cont100, label %if.then.i2005
1001
1002 if.then.i2005:                                    ; preds = %invoke.cont.i2004
1003   br label %invoke.cont100
1004
1005 lpad.i2006:                                       ; preds = %invoke.cont97
1006   %tmp82 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1007           cleanup
1008   unreachable
1009
1010 invoke.cont100:                                   ; preds = %if.then.i2005, %invoke.cont.i2004
1011   invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1012           to label %invoke.cont110 unwind label %lpad109
1013
1014 invoke.cont110:                                   ; preds = %invoke.cont100
1015   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1016           to label %invoke.cont.i2010 unwind label %lpad.i2012
1017
1018 invoke.cont.i2010:                                ; preds = %invoke.cont110
1019   br i1 undef, label %invoke.cont117, label %if.then.i2011
1020
1021 if.then.i2011:                                    ; preds = %invoke.cont.i2010
1022   br label %invoke.cont117
1023
1024 lpad.i2012:                                       ; preds = %invoke.cont110
1025   %tmp98 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1026           cleanup
1027   unreachable
1028
1029 invoke.cont117:                                   ; preds = %if.then.i2011, %invoke.cont.i2010
1030   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1031           to label %invoke.cont.i2022 unwind label %lpad156.body
1032
1033 lpad:                                             ; preds = %entry
1034   %tmp118 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1035           cleanup
1036   br label %ehcleanup
1037
1038 lpad3:                                            ; preds = %land.rhs, %invoke.cont
1039   %tmp119 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1040           cleanup
1041   br label %ehcleanup
1042
1043 ehcleanup:                                        ; preds = %lpad3, %lpad
1044   unreachable
1045
1046 lpad16:                                           ; preds = %invoke.cont8
1047   %tmp121 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1048           cleanup
1049   br label %ehcleanup26
1050
1051 lpad20:                                           ; preds = %invoke.cont17
1052   %tmp122 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1053           cleanup
1054   br label %ehcleanup26
1055
1056 ehcleanup26:                                      ; preds = %lpad20, %lpad16
1057   unreachable
1058
1059 lpad35:                                           ; preds = %land.rhs39, %invoke.cont24
1060   %tmp124 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1061           cleanup
1062   unreachable
1063
1064 lpad51:                                           ; preds = %invoke.cont44
1065   %tmp125 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1066           cleanup
1067   unreachable
1068
1069 lpad61:                                           ; preds = %land.rhs58
1070   %tmp127 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1071           cleanup
1072   unreachable
1073
1074 lpad66.body.thread:                               ; preds = %invoke.cont62
1075   %tmp128 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1076           cleanup
1077   unreachable
1078
1079 lpad66.body:                                      ; preds = %land.end70
1080   %tmp129 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1081           cleanup
1082   unreachable
1083
1084 lpad94:                                           ; preds = %invoke.cont95, %invoke.cont91
1085   %tmp133 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1086           cleanup
1087   br label %ehcleanup102
1088
1089 ehcleanup102:                                     ; preds = %lpad94, %lpad.i2000
1090   unreachable
1091
1092 lpad109:                                          ; preds = %invoke.cont100
1093   %tmp134 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1094           cleanup
1095   unreachable
1096
1097 invoke.cont.i2022:                                ; preds = %invoke.cont117
1098   br i1 undef, label %invoke.cont157, label %if.then.i2023
1099
1100 if.then.i2023:                                    ; preds = %invoke.cont.i2022
1101   br label %invoke.cont157
1102
1103 invoke.cont157:                                   ; preds = %if.then.i2023, %invoke.cont.i2022
1104   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1105           to label %invoke.cont.i2028 unwind label %lpad164.body
1106
1107 invoke.cont.i2028:                                ; preds = %invoke.cont157
1108   br i1 undef, label %invoke.cont165, label %if.then.i2029
1109
1110 if.then.i2029:                                    ; preds = %invoke.cont.i2028
1111   br label %invoke.cont165
1112
1113 invoke.cont165:                                   ; preds = %if.then.i2029, %invoke.cont.i2028
1114   invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, void (i8*, i8*)*)*)(i8* undef, i8* undef, void (i8*, i8*)* undef)
1115           to label %invoke.cont184 unwind label %lpad183
1116
1117 invoke.cont184:                                   ; preds = %invoke.cont165
1118   %call186 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1119           to label %invoke.cont185 unwind label %lpad183
1120
1121 invoke.cont185:                                   ; preds = %invoke.cont184
1122   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1123           to label %invoke.cont.i2034 unwind label %lpad.i2036
1124
1125 invoke.cont.i2034:                                ; preds = %invoke.cont185
1126   br i1 undef, label %invoke.cont190, label %if.then.i2035
1127
1128 if.then.i2035:                                    ; preds = %invoke.cont.i2034
1129   br label %invoke.cont190
1130
1131 lpad.i2036:                                       ; preds = %invoke.cont185
1132   %tmp168 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1133           cleanup
1134   br label %lpad183.body
1135
1136 invoke.cont190:                                   ; preds = %if.then.i2035, %invoke.cont.i2034
1137   invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1138           to label %invoke.cont197 unwind label %lpad196
1139
1140 invoke.cont197:                                   ; preds = %invoke.cont190
1141   %call202 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1142           to label %invoke.cont201 unwind label %lpad200
1143
1144 invoke.cont201:                                   ; preds = %invoke.cont197
1145   %call205 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1146           to label %invoke.cont204 unwind label %lpad203
1147
1148 invoke.cont204:                                   ; preds = %invoke.cont201
1149   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1150           to label %invoke.cont.i2040 unwind label %lpad.i2042
1151
1152 invoke.cont.i2040:                                ; preds = %invoke.cont204
1153   br i1 undef, label %invoke.cont207, label %if.then.i2041
1154
1155 if.then.i2041:                                    ; preds = %invoke.cont.i2040
1156   br label %invoke.cont207
1157
1158 lpad.i2042:                                       ; preds = %invoke.cont204
1159   %tmp181 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1160           cleanup
1161   unreachable
1162
1163 invoke.cont207:                                   ; preds = %if.then.i2041, %invoke.cont.i2040
1164   %call209 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
1165           to label %invoke.cont208 unwind label %lpad203
1166
1167 invoke.cont208:                                   ; preds = %invoke.cont207
1168   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1169           to label %invoke.cont.i2046 unwind label %lpad212.body
1170
1171 invoke.cont.i2046:                                ; preds = %invoke.cont208
1172   br i1 undef, label %invoke.cont213, label %if.then.i2047
1173
1174 if.then.i2047:                                    ; preds = %invoke.cont.i2046
1175   br label %invoke.cont213
1176
1177 invoke.cont213:                                   ; preds = %if.then.i2047, %invoke.cont.i2046
1178   invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1179           to label %invoke.cont221 unwind label %lpad220
1180
1181 invoke.cont221:                                   ; preds = %invoke.cont213
1182   %call229 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1183           to label %invoke.cont228 unwind label %lpad227
1184
1185 invoke.cont228:                                   ; preds = %invoke.cont221
1186   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1187           to label %invoke.cont.i2052 unwind label %lpad.i2054
1188
1189 invoke.cont.i2052:                                ; preds = %invoke.cont228
1190   br i1 undef, label %invoke.cont231, label %if.then.i2053
1191
1192 if.then.i2053:                                    ; preds = %invoke.cont.i2052
1193   br label %invoke.cont231
1194
1195 lpad.i2054:                                       ; preds = %invoke.cont228
1196   %tmp198 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1197           cleanup
1198   unreachable
1199
1200 invoke.cont231:                                   ; preds = %if.then.i2053, %invoke.cont.i2052
1201   %call233 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
1202           to label %invoke.cont232 unwind label %lpad227
1203
1204 invoke.cont232:                                   ; preds = %invoke.cont231
1205   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1206           to label %invoke.cont.i2058 unwind label %lpad236.body
1207
1208 invoke.cont.i2058:                                ; preds = %invoke.cont232
1209   br i1 undef, label %invoke.cont237, label %if.then.i2059
1210
1211 if.then.i2059:                                    ; preds = %invoke.cont.i2058
1212   br label %invoke.cont237
1213
1214 invoke.cont237:                                   ; preds = %if.then.i2059, %invoke.cont.i2058
1215   %call246 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1216           to label %invoke.cont245 unwind label %lpad244
1217
1218 invoke.cont245:                                   ; preds = %invoke.cont237
1219   %call248 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 13)
1220           to label %invoke.cont247 unwind label %lpad244
1221
1222 invoke.cont247:                                   ; preds = %invoke.cont245
1223   %call251 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 2)
1224           to label %invoke.cont250 unwind label %lpad249
1225
1226 invoke.cont250:                                   ; preds = %invoke.cont247
1227   %call254 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 7)
1228           to label %invoke.cont253 unwind label %lpad252
1229
1230 invoke.cont253:                                   ; preds = %invoke.cont250
1231   %call257 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8**, i32)*)(i8* undef, i8* undef, i8** undef, i32 3)
1232           to label %invoke.cont256 unwind label %lpad255
1233
1234 invoke.cont256:                                   ; preds = %invoke.cont253
1235   %call260 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* undef)
1236           to label %invoke.cont259 unwind label %lpad258
1237
1238 invoke.cont259:                                   ; preds = %invoke.cont256
1239   %call267 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1240           to label %invoke.cont266 unwind label %lpad265
1241
1242 invoke.cont266:                                   ; preds = %invoke.cont259
1243   %call275 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef)
1244           to label %invoke.cont274 unwind label %lpad273
1245
1246 invoke.cont274:                                   ; preds = %invoke.cont266
1247   %call279 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
1248           to label %invoke.cont278 unwind label %lpad277
1249
1250 invoke.cont278:                                   ; preds = %invoke.cont274
1251   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1252           to label %invoke.cont.i2064 unwind label %lpad.i2066
1253
1254 invoke.cont.i2064:                                ; preds = %invoke.cont278
1255   br i1 undef, label %invoke.cont281, label %if.then.i2065
1256
1257 if.then.i2065:                                    ; preds = %invoke.cont.i2064
1258   br label %invoke.cont281
1259
1260 lpad.i2066:                                       ; preds = %invoke.cont278
1261   %tmp253 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1262           cleanup
1263   unreachable
1264
1265 invoke.cont281:                                   ; preds = %if.then.i2065, %invoke.cont.i2064
1266   %call291 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1267           to label %invoke.cont290 unwind label %lpad289
1268
1269 invoke.cont290:                                   ; preds = %invoke.cont281
1270   %call303 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 8)
1271           to label %invoke.cont302 unwind label %lpad301
1272
1273 invoke.cont302:                                   ; preds = %invoke.cont290
1274   %call310 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, double)*)(i8* undef, i8* undef, double 5.000000e-01)
1275           to label %invoke.cont309 unwind label %lpad308
1276
1277 invoke.cont309:                                   ; preds = %invoke.cont302
1278   %call313 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 42)
1279           to label %invoke.cont312 unwind label %lpad311
1280
1281 invoke.cont312:                                   ; preds = %invoke.cont309
1282   %call316 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8**, i8**, i32)*)(i8* undef, i8* undef, i8** undef, i8** undef, i32 2)
1283           to label %invoke.cont315 unwind label %lpad314
1284
1285 invoke.cont315:                                   ; preds = %invoke.cont312
1286   %call322 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef)
1287           to label %invoke.cont321 unwind label %lpad320
1288
1289 invoke.cont321:                                   ; preds = %invoke.cont315
1290   br i1 undef, label %land.end344, label %land.rhs335
1291
1292 land.rhs335:                                      ; preds = %invoke.cont321
1293   %call342 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1294           to label %land.end344 unwind label %lpad340.body.thread
1295
1296 land.end344:                                      ; preds = %land.rhs335, %invoke.cont321
1297   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1298           to label %invoke.cont.i2070 unwind label %lpad340.body
1299
1300 invoke.cont.i2070:                                ; preds = %land.end344
1301   br i1 undef, label %invoke.cont345, label %if.then.i2071
1302
1303 if.then.i2071:                                    ; preds = %invoke.cont.i2070
1304   br label %invoke.cont345
1305
1306 invoke.cont345:                                   ; preds = %if.then.i2071, %invoke.cont.i2070
1307   %call362 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef)
1308           to label %invoke.cont361 unwind label %lpad360
1309
1310 invoke.cont361:                                   ; preds = %invoke.cont345
1311   %call365 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1312           to label %invoke.cont364 unwind label %lpad363
1313
1314 invoke.cont364:                                   ; preds = %invoke.cont361
1315   %call371 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
1316           to label %invoke.cont370 unwind label %lpad369
1317
1318 invoke.cont370:                                   ; preds = %invoke.cont364
1319   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1320           to label %invoke.cont.i2076 unwind label %lpad.i2078
1321
1322 invoke.cont.i2076:                                ; preds = %invoke.cont370
1323   br i1 undef, label %invoke.cont373, label %if.then.i2077
1324
1325 if.then.i2077:                                    ; preds = %invoke.cont.i2076
1326   br label %invoke.cont373
1327
1328 lpad.i2078:                                       ; preds = %invoke.cont370
1329   %tmp340 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1330           cleanup
1331   unreachable
1332
1333 invoke.cont373:                                   ; preds = %if.then.i2077, %invoke.cont.i2076
1334   %call377 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32, i8*)*)(i8* undef, i8* undef, i32 42, i8* undef)
1335           to label %invoke.cont376 unwind label %lpad363
1336
1337 invoke.cont376:                                   ; preds = %invoke.cont373
1338   invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i32)*)(i8* undef, i8* undef, i8* undef, i32 5)
1339           to label %invoke.cont382 unwind label %lpad381
1340
1341 invoke.cont382:                                   ; preds = %invoke.cont376
1342   %call384 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1343           to label %invoke.cont383 unwind label %lpad381
1344
1345 invoke.cont383:                                   ; preds = %invoke.cont382
1346   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1347           to label %invoke.cont.i2082 unwind label %lpad.i2084
1348
1349 invoke.cont.i2082:                                ; preds = %invoke.cont383
1350   br i1 undef, label %invoke.cont392, label %if.then.i2083
1351
1352 if.then.i2083:                                    ; preds = %invoke.cont.i2082
1353   br label %invoke.cont392
1354
1355 lpad.i2084:                                       ; preds = %invoke.cont383
1356   %tmp360 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1357           cleanup
1358   unreachable
1359
1360 invoke.cont392:                                   ; preds = %if.then.i2083, %invoke.cont.i2082
1361   invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i32)*)(i8* undef, i8* undef, i8* undef, i32 -2)
1362           to label %invoke.cont395 unwind label %lpad381
1363
1364 invoke.cont395:                                   ; preds = %invoke.cont392
1365   %call397 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1366           to label %invoke.cont396 unwind label %lpad381
1367
1368 invoke.cont396:                                   ; preds = %invoke.cont395
1369   %call400 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
1370           to label %invoke.cont399 unwind label %lpad398
1371
1372 invoke.cont399:                                   ; preds = %invoke.cont396
1373   %call403 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
1374           to label %invoke.cont402 unwind label %lpad401
1375
1376 invoke.cont402:                                   ; preds = %invoke.cont399
1377   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1378           to label %invoke.cont.i2088 unwind label %lpad.i2090
1379
1380 invoke.cont.i2088:                                ; preds = %invoke.cont402
1381   br i1 undef, label %invoke.cont405, label %if.then.i2089
1382
1383 if.then.i2089:                                    ; preds = %invoke.cont.i2088
1384   br label %invoke.cont405
1385
1386 lpad.i2090:                                       ; preds = %invoke.cont402
1387   %tmp370 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1388           cleanup
1389   unreachable
1390
1391 invoke.cont405:                                   ; preds = %if.then.i2089, %invoke.cont.i2088
1392   invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i32)*)(i8* undef, i8* undef, i8* undef, i32 -1)
1393           to label %invoke.cont408 unwind label %lpad381
1394
1395 invoke.cont408:                                   ; preds = %invoke.cont405
1396   %call410 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1397           to label %invoke.cont409 unwind label %lpad381
1398
1399 invoke.cont409:                                   ; preds = %invoke.cont408
1400   %call413 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
1401           to label %invoke.cont412 unwind label %lpad411
1402
1403 invoke.cont412:                                   ; preds = %invoke.cont409
1404   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1405           to label %invoke.cont.i2094 unwind label %lpad.i2096
1406
1407 invoke.cont.i2094:                                ; preds = %invoke.cont412
1408   br i1 undef, label %invoke.cont418, label %if.then.i2095
1409
1410 if.then.i2095:                                    ; preds = %invoke.cont.i2094
1411   br label %invoke.cont418
1412
1413 lpad.i2096:                                       ; preds = %invoke.cont412
1414   %tmp380 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1415           cleanup
1416   unreachable
1417
1418 invoke.cont418:                                   ; preds = %if.then.i2095, %invoke.cont.i2094
1419   invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i32)*)(i8* undef, i8* undef, i8* undef, i32 0)
1420           to label %invoke.cont422 unwind label %lpad381
1421
1422 invoke.cont422:                                   ; preds = %invoke.cont418
1423   %call424 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1424           to label %invoke.cont423 unwind label %lpad381
1425
1426 invoke.cont423:                                   ; preds = %invoke.cont422
1427   %call427 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
1428           to label %invoke.cont426 unwind label %lpad425
1429
1430 invoke.cont426:                                   ; preds = %invoke.cont423
1431   %call430 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
1432           to label %invoke.cont429 unwind label %lpad428
1433
1434 invoke.cont429:                                   ; preds = %invoke.cont426
1435   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1436           to label %invoke.cont.i2100 unwind label %lpad.i2102
1437
1438 invoke.cont.i2100:                                ; preds = %invoke.cont429
1439   br i1 undef, label %invoke.cont432, label %if.then.i2101
1440
1441 if.then.i2101:                                    ; preds = %invoke.cont.i2100
1442   br label %invoke.cont432
1443
1444 lpad.i2102:                                       ; preds = %invoke.cont429
1445   %tmp390 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1446           cleanup
1447   unreachable
1448
1449 invoke.cont432:                                   ; preds = %if.then.i2101, %invoke.cont.i2100
1450   %call436 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 0)
1451           to label %invoke.cont435 unwind label %lpad381
1452
1453 invoke.cont435:                                   ; preds = %invoke.cont432
1454   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1455           to label %invoke.cont.i2106 unwind label %lpad.i2108
1456
1457 invoke.cont.i2106:                                ; preds = %invoke.cont435
1458   %call444 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 5)
1459           to label %invoke.cont443 unwind label %lpad381
1460
1461 lpad.i2108:                                       ; preds = %invoke.cont435
1462   %tmp396 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1463           cleanup
1464   unreachable
1465
1466 invoke.cont443:                                   ; preds = %invoke.cont.i2106
1467   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1468           to label %invoke.cont.i2112 unwind label %lpad.i2114
1469
1470 invoke.cont.i2112:                                ; preds = %invoke.cont443
1471   br i1 undef, label %invoke.cont449, label %if.then.i2113
1472
1473 if.then.i2113:                                    ; preds = %invoke.cont.i2112
1474   br label %invoke.cont449
1475
1476 lpad.i2114:                                       ; preds = %invoke.cont443
1477   %tmp402 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1478           cleanup
1479   unreachable
1480
1481 invoke.cont449:                                   ; preds = %if.then.i2113, %invoke.cont.i2112
1482   %call453 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 -2)
1483           to label %invoke.cont452 unwind label %lpad381
1484
1485 invoke.cont452:                                   ; preds = %invoke.cont449
1486   %call456 = invoke i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)(i8* undef, i8* undef)
1487           to label %invoke.cont455 unwind label %lpad454
1488
1489 invoke.cont455:                                   ; preds = %invoke.cont452
1490   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1491           to label %invoke.cont.i2118 unwind label %lpad.i2120
1492
1493 invoke.cont.i2118:                                ; preds = %invoke.cont455
1494   br i1 undef, label %invoke.cont458, label %if.then.i2119
1495
1496 if.then.i2119:                                    ; preds = %invoke.cont.i2118
1497   br label %invoke.cont458
1498
1499 lpad.i2120:                                       ; preds = %invoke.cont455
1500   %tmp408 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1501           cleanup
1502   unreachable
1503
1504 invoke.cont458:                                   ; preds = %if.then.i2119, %invoke.cont.i2118
1505   %call461 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 -1)
1506           to label %invoke.cont460 unwind label %lpad381
1507
1508 invoke.cont460:                                   ; preds = %invoke.cont458
1509   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1510           to label %invoke.cont.i2124 unwind label %lpad.i2126
1511
1512 invoke.cont.i2124:                                ; preds = %invoke.cont460
1513   br i1 undef, label %invoke.cont466, label %if.then.i2125
1514
1515 if.then.i2125:                                    ; preds = %invoke.cont.i2124
1516   br label %invoke.cont466
1517
1518 lpad.i2126:                                       ; preds = %invoke.cont460
1519   %tmp414 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1520           cleanup
1521   br label %ehcleanup477
1522
1523 invoke.cont466:                                   ; preds = %if.then.i2125, %invoke.cont.i2124
1524   %call470 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 0)
1525           to label %invoke.cont469 unwind label %lpad381
1526
1527 invoke.cont469:                                   ; preds = %invoke.cont466
1528   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1529           to label %invoke.cont.i2130 unwind label %lpad.i2132
1530
1531 invoke.cont.i2130:                                ; preds = %invoke.cont469
1532   br i1 undef, label %invoke.cont475, label %if.then.i2131
1533
1534 if.then.i2131:                                    ; preds = %invoke.cont.i2130
1535   br label %invoke.cont475
1536
1537 lpad.i2132:                                       ; preds = %invoke.cont469
1538   %tmp420 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1539           cleanup
1540   br label %ehcleanup477
1541
1542 invoke.cont475:                                   ; preds = %if.then.i2131, %invoke.cont.i2130
1543   %call491 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 1)
1544           to label %invoke.cont490 unwind label %lpad489
1545
1546 invoke.cont490:                                   ; preds = %invoke.cont475
1547   invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1548           to label %invoke.cont499 unwind label %lpad498
1549
1550 invoke.cont499:                                   ; preds = %invoke.cont490
1551   %call504 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1552           to label %invoke.cont503 unwind label %lpad489
1553
1554 invoke.cont503:                                   ; preds = %invoke.cont499
1555   %call507 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* undef, i8* undef, i32 3)
1556           to label %invoke.cont506 unwind label %lpad505
1557
1558 invoke.cont506:                                   ; preds = %invoke.cont503
1559   invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1560           to label %invoke.cont509 unwind label %lpad508
1561
1562 invoke.cont509:                                   ; preds = %invoke.cont506
1563   %call513 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1564           to label %invoke.cont512 unwind label %lpad489
1565
1566 invoke.cont512:                                   ; preds = %invoke.cont509
1567   br i1 undef, label %msgSend.null-receiver, label %msgSend.call
1568
1569 msgSend.call:                                     ; preds = %invoke.cont512
1570   invoke void bitcast (void (i8*, i8*, ...)* @objc_msgSend_stret to void (%struct.CGPoint*, i8*, i8*)*)(%struct.CGPoint* sret undef, i8* undef, i8* undef)
1571           to label %msgSend.cont unwind label %lpad514
1572
1573 msgSend.null-receiver:                            ; preds = %invoke.cont512
1574   br label %msgSend.cont
1575
1576 msgSend.cont:                                     ; preds = %msgSend.null-receiver, %msgSend.call
1577   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1578           to label %invoke.cont.i2136 unwind label %lpad.i2138
1579
1580 invoke.cont.i2136:                                ; preds = %msgSend.cont
1581   br i1 undef, label %invoke.cont521, label %if.then.i2137
1582
1583 if.then.i2137:                                    ; preds = %invoke.cont.i2136
1584   br label %invoke.cont521
1585
1586 lpad.i2138:                                       ; preds = %msgSend.cont
1587   %tmp468 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1588           cleanup
1589   unreachable
1590
1591 invoke.cont521:                                   ; preds = %if.then.i2137, %invoke.cont.i2136
1592   invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef)
1593           to label %invoke.cont528 unwind label %lpad527
1594
1595 invoke.cont528:                                   ; preds = %invoke.cont521
1596   %call532 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1597           to label %invoke.cont531 unwind label %lpad489
1598
1599 invoke.cont531:                                   ; preds = %invoke.cont528
1600   %call535 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
1601           to label %invoke.cont534 unwind label %lpad533
1602
1603 invoke.cont534:                                   ; preds = %invoke.cont531
1604   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1605           to label %invoke.cont.i2142 unwind label %lpad.i2144
1606
1607 invoke.cont.i2142:                                ; preds = %invoke.cont534
1608   br i1 undef, label %invoke.cont540, label %if.then.i2143
1609
1610 if.then.i2143:                                    ; preds = %invoke.cont.i2142
1611   br label %invoke.cont540
1612
1613 lpad.i2144:                                       ; preds = %invoke.cont534
1614   %tmp486 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1615           cleanup
1616   unreachable
1617
1618 invoke.cont540:                                   ; preds = %if.then.i2143, %invoke.cont.i2142
1619   %call544 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i32)*)(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef, i32 3)
1620           to label %invoke.cont543 unwind label %lpad489
1621
1622 invoke.cont543:                                   ; preds = %invoke.cont540
1623   invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* undef)
1624           to label %invoke.cont546 unwind label %lpad545
1625
1626 invoke.cont546:                                   ; preds = %invoke.cont543
1627   %call549 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1628           to label %invoke.cont548 unwind label %lpad489
1629
1630 invoke.cont548:                                   ; preds = %invoke.cont546
1631   %call555 = invoke signext i8 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8 (i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1632           to label %invoke.cont554 unwind label %lpad553
1633
1634 invoke.cont554:                                   ; preds = %invoke.cont548
1635   %tmp499 = call i8* @objc_retain(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*)) #3
1636   invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i8* %tmp499, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1637           to label %invoke.cont.i2148 unwind label %lpad.i2150
1638
1639 invoke.cont.i2148:                                ; preds = %invoke.cont554
1640   call void @objc_release(i8* %tmp499) #3, !clang.imprecise_release !0
1641   invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1642           to label %invoke.cont566 unwind label %lpad565
1643
1644 lpad.i2150:                                       ; preds = %invoke.cont554
1645   %tmp500 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1646           cleanup
1647   call void @objc_release(i8* %tmp499) #3, !clang.imprecise_release !0
1648   unreachable
1649
1650 invoke.cont566:                                   ; preds = %invoke.cont.i2148
1651   invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i8*, i8*)*)(i8* undef, i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*))
1652           to label %invoke.cont572 unwind label %lpad571
1653
1654 invoke.cont572:                                   ; preds = %invoke.cont566
1655   %call582 = invoke i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* undef, i8* undef)
1656           to label %invoke.cont581 unwind label %lpad580
1657
1658 invoke.cont581:                                   ; preds = %invoke.cont572
1659   unreachable
1660
1661 lpad156.body:                                     ; preds = %invoke.cont117
1662   %tmp1157 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1663           cleanup
1664   unreachable
1665
1666 lpad164.body:                                     ; preds = %invoke.cont157
1667   %tmp1158 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1668           cleanup
1669   unreachable
1670
1671 lpad183:                                          ; preds = %invoke.cont184, %invoke.cont165
1672   %tmp1159 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1673           cleanup
1674   br label %lpad183.body
1675
1676 lpad183.body:                                     ; preds = %lpad183, %lpad.i2036
1677   unreachable
1678
1679 lpad196:                                          ; preds = %invoke.cont190
1680   %tmp1160 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1681           cleanup
1682   unreachable
1683
1684 lpad200:                                          ; preds = %invoke.cont197
1685   %tmp1161 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1686           cleanup
1687   unreachable
1688
1689 lpad203:                                          ; preds = %invoke.cont207, %invoke.cont201
1690   %tmp1162 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1691           cleanup
1692   unreachable
1693
1694 lpad212.body:                                     ; preds = %invoke.cont208
1695   %tmp1163 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1696           cleanup
1697   unreachable
1698
1699 lpad220:                                          ; preds = %invoke.cont213
1700   %tmp1164 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1701           cleanup
1702   br label %eh.resume
1703
1704 lpad227:                                          ; preds = %invoke.cont231, %invoke.cont221
1705   %tmp1166 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1706           cleanup
1707   br label %ehcleanup239
1708
1709 lpad236.body:                                     ; preds = %invoke.cont232
1710   %tmp1167 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1711           cleanup
1712   br label %ehcleanup239
1713
1714 ehcleanup239:                                     ; preds = %lpad236.body, %lpad227
1715   unreachable
1716
1717 lpad244:                                          ; preds = %invoke.cont245, %invoke.cont237
1718   %tmp1168 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1719           cleanup
1720   unreachable
1721
1722 lpad249:                                          ; preds = %invoke.cont247
1723   %tmp1169 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1724           cleanup
1725   unreachable
1726
1727 lpad252:                                          ; preds = %invoke.cont250
1728   %tmp1170 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1729           cleanup
1730   br label %ehcleanup263
1731
1732 lpad255:                                          ; preds = %invoke.cont253
1733   %tmp1171 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1734           cleanup
1735   br label %ehcleanup263
1736
1737 lpad258:                                          ; preds = %invoke.cont256
1738   %tmp1172 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1739           cleanup
1740   unreachable
1741
1742 ehcleanup263:                                     ; preds = %lpad255, %lpad252
1743   unreachable
1744
1745 lpad265:                                          ; preds = %invoke.cont259
1746   %tmp1173 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1747           cleanup
1748   unreachable
1749
1750 lpad273:                                          ; preds = %invoke.cont266
1751   %tmp1175 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1752           cleanup
1753   unreachable
1754
1755 lpad277:                                          ; preds = %invoke.cont274
1756   %tmp1176 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1757           cleanup
1758   unreachable
1759
1760 lpad289:                                          ; preds = %invoke.cont281
1761   %tmp1177 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1762           cleanup
1763   unreachable
1764
1765 lpad301:                                          ; preds = %invoke.cont290
1766   %tmp1180 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1767           cleanup
1768   unreachable
1769
1770 lpad308:                                          ; preds = %invoke.cont302
1771   %tmp1182 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1772           cleanup
1773   unreachable
1774
1775 lpad311:                                          ; preds = %invoke.cont309
1776   %tmp1183 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1777           cleanup
1778   unreachable
1779
1780 lpad314:                                          ; preds = %invoke.cont312
1781   %tmp1184 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1782           cleanup
1783   unreachable
1784
1785 lpad320:                                          ; preds = %invoke.cont315
1786   %tmp1186 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1787           cleanup
1788   unreachable
1789
1790 lpad340.body.thread:                              ; preds = %land.rhs335
1791   %tmp1188 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1792           cleanup
1793   unreachable
1794
1795 lpad340.body:                                     ; preds = %land.end344
1796   %tmp1189 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1797           cleanup
1798   unreachable
1799
1800 lpad360:                                          ; preds = %invoke.cont345
1801   %tmp1191 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1802           cleanup
1803   br label %eh.resume
1804
1805 lpad363:                                          ; preds = %invoke.cont373, %invoke.cont361
1806   %tmp1192 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1807           cleanup
1808   unreachable
1809
1810 lpad369:                                          ; preds = %invoke.cont364
1811   %tmp1194 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1812           cleanup
1813   unreachable
1814
1815 lpad381:                                          ; preds = %invoke.cont466, %invoke.cont458, %invoke.cont449, %invoke.cont.i2106, %invoke.cont432, %invoke.cont422, %invoke.cont418, %invoke.cont408, %invoke.cont405, %invoke.cont395, %invoke.cont392, %invoke.cont382, %invoke.cont376
1816   %tmp1196 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1817           cleanup
1818   br label %ehcleanup477
1819
1820 lpad398:                                          ; preds = %invoke.cont396
1821   %tmp1199 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1822           cleanup
1823   unreachable
1824
1825 lpad401:                                          ; preds = %invoke.cont399
1826   %tmp1200 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1827           cleanup
1828   unreachable
1829
1830 lpad411:                                          ; preds = %invoke.cont409
1831   %tmp1201 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1832           cleanup
1833   unreachable
1834
1835 lpad425:                                          ; preds = %invoke.cont423
1836   %tmp1203 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1837           cleanup
1838   br label %ehcleanup477
1839
1840 lpad428:                                          ; preds = %invoke.cont426
1841   %tmp1204 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1842           cleanup
1843   unreachable
1844
1845 lpad454:                                          ; preds = %invoke.cont452
1846   %tmp1207 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1847           cleanup
1848   unreachable
1849
1850 ehcleanup477:                                     ; preds = %lpad425, %lpad381, %lpad.i2132, %lpad.i2126
1851   unreachable
1852
1853 lpad489:                                          ; preds = %invoke.cont546, %invoke.cont540, %invoke.cont528, %invoke.cont509, %invoke.cont499, %invoke.cont475
1854   %tmp1211 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1855           cleanup
1856   br label %ehcleanup560
1857
1858 lpad498:                                          ; preds = %invoke.cont490
1859   %tmp1214 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1860           cleanup
1861   unreachable
1862
1863 lpad505:                                          ; preds = %invoke.cont503
1864   %tmp1215 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1865           cleanup
1866   unreachable
1867
1868 lpad508:                                          ; preds = %invoke.cont506
1869   %tmp1216 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1870           cleanup
1871   unreachable
1872
1873 lpad514:                                          ; preds = %msgSend.call
1874   %tmp1217 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1875           cleanup
1876   unreachable
1877
1878 lpad527:                                          ; preds = %invoke.cont521
1879   %tmp1219 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1880           cleanup
1881   br label %ehcleanup560
1882
1883 lpad533:                                          ; preds = %invoke.cont531
1884   %tmp1220 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1885           cleanup
1886   unreachable
1887
1888 lpad545:                                          ; preds = %invoke.cont543
1889   %tmp1222 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1890           cleanup
1891   unreachable
1892
1893 lpad553:                                          ; preds = %invoke.cont548
1894   %tmp1224 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1895           cleanup
1896   unreachable
1897
1898 ehcleanup560:                                     ; preds = %lpad527, %lpad489
1899   br label %eh.resume
1900
1901 lpad565:                                          ; preds = %invoke.cont.i2148
1902   %tmp1225 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1903           cleanup
1904   unreachable
1905
1906 lpad571:                                          ; preds = %invoke.cont566
1907   %tmp1227 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1908           cleanup
1909   unreachable
1910
1911 lpad580:                                          ; preds = %invoke.cont572
1912   %tmp1228 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
1913           cleanup
1914   br label %eh.resume
1915
1916 eh.resume:                                        ; preds = %lpad580, %ehcleanup560, %lpad360, %lpad220
1917   resume { i8*, i32 } undef
1918 }
1919
1920 @"OBJC_EHTYPE_$_NSException" = external global i8
1921
1922 define void @test4() {
1923 entry:
1924   br i1 undef, label %if.end13, label %if.then10
1925
1926 if.then10:                                        ; preds = %entry
1927   br label %if.end13
1928
1929 if.end13:                                         ; preds = %if.then10, %entry
1930   %0 = call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*, i8*, i64, i8*, i8)*)(i8* undef, i8* undef, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring to i8*), i64 2, i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring_2 to i8*), i8 signext 0), !clang.arc.no_objc_arc_exceptions !0
1931   br i1 undef, label %if.then17, label %if.end18
1932
1933 if.then17:                                        ; preds = %if.end13
1934   br label %if.end18
1935
1936 if.end18:                                         ; preds = %if.then17, %if.end13
1937   br i1 undef, label %if.then64, label %if.end73
1938
1939 if.then64:                                        ; preds = %if.end18
1940   br i1 undef, label %cond.end71, label %cond.true68
1941
1942 cond.true68:                                      ; preds = %if.then64
1943   br label %cond.end71
1944
1945 cond.end71:                                       ; preds = %cond.true68, %if.then64
1946   br i1 undef, label %cleanup.action, label %cleanup.done
1947
1948 cleanup.action:                                   ; preds = %cond.end71
1949   br label %cleanup.done
1950
1951 cleanup.done:                                     ; preds = %cleanup.action, %cond.end71
1952   br label %if.end73
1953
1954 if.end73:                                         ; preds = %cleanup.done, %if.end18
1955   br i1 undef, label %forcoll.empty, label %forcoll.loopinit
1956
1957 forcoll.loopinit:                                 ; preds = %if.end73
1958   br label %forcoll.loopbody.outer
1959
1960 forcoll.loopbody.outer:                           ; preds = %forcoll.refetch, %forcoll.loopinit
1961   br label %forcoll.loopbody
1962
1963 forcoll.loopbody:                                 ; preds = %forcoll.notmutated, %forcoll.loopbody.outer
1964   br i1 undef, label %forcoll.notmutated, label %forcoll.mutated
1965
1966 forcoll.mutated:                                  ; preds = %forcoll.loopbody
1967   br label %forcoll.notmutated
1968
1969 forcoll.notmutated:                               ; preds = %forcoll.mutated, %forcoll.loopbody
1970   br i1 undef, label %forcoll.loopbody, label %forcoll.refetch
1971
1972 forcoll.refetch:                                  ; preds = %forcoll.notmutated
1973   br i1 undef, label %forcoll.empty, label %forcoll.loopbody.outer
1974
1975 forcoll.empty:                                    ; preds = %forcoll.refetch, %if.end73
1976   br i1 undef, label %if.end85, label %if.then82
1977
1978 if.then82:                                        ; preds = %forcoll.empty
1979   br label %if.end85
1980
1981 if.end85:                                         ; preds = %if.then82, %forcoll.empty
1982   br i1 undef, label %if.then87, label %if.end102
1983
1984 if.then87:                                        ; preds = %if.end85
1985   br i1 undef, label %if.end94, label %if.then91
1986
1987 if.then91:                                        ; preds = %if.then87
1988   br label %if.end94
1989
1990 if.end94:                                         ; preds = %if.then91, %if.then87
1991   br i1 undef, label %if.end101, label %if.then98
1992
1993 if.then98:                                        ; preds = %if.end94
1994   br label %if.end101
1995
1996 if.end101:                                        ; preds = %if.then98, %if.end94
1997   br label %if.end102
1998
1999 if.end102:                                        ; preds = %if.end101, %if.end85
2000   br i1 undef, label %do.body113, label %if.then107
2001
2002 if.then107:                                       ; preds = %if.end102
2003   br label %do.body113
2004
2005 do.body113:                                       ; preds = %if.then107, %if.end102
2006   br i1 undef, label %if.then116, label %if.end117
2007
2008 if.then116:                                       ; preds = %do.body113
2009   br label %if.end117
2010
2011 if.end117:                                        ; preds = %if.then116, %do.body113
2012   br i1 undef, label %if.then125, label %if.end126
2013
2014 if.then125:                                       ; preds = %if.end117
2015   br label %if.end126
2016
2017 if.end126:                                        ; preds = %if.then125, %if.end117
2018   br i1 undef, label %do.end166, label %cond.true132
2019
2020 cond.true132:                                     ; preds = %if.end126
2021   br i1 undef, label %do.body148, label %cond.true151
2022
2023 do.body148:                                       ; preds = %cond.true132
2024   br i1 undef, label %do.end166, label %cond.true151
2025
2026 cond.true151:                                     ; preds = %do.body148, %cond.true132
2027   br i1 undef, label %if.then162, label %do.end166
2028
2029 if.then162:                                       ; preds = %cond.true151
2030   br label %do.end166
2031
2032 do.end166:                                        ; preds = %if.then162, %cond.true151, %do.body148, %if.end126
2033   br i1 undef, label %if.then304, label %if.then170
2034
2035 if.then170:                                       ; preds = %do.end166
2036   br i1 undef, label %do.end193, label %cond.true179
2037
2038 cond.true179:                                     ; preds = %if.then170
2039   br i1 undef, label %if.then190, label %do.end193
2040
2041 if.then190:                                       ; preds = %cond.true179
2042   br label %do.end193
2043
2044 do.end193:                                        ; preds = %if.then190, %cond.true179, %if.then170
2045   br i1 undef, label %do.body200, label %do.body283
2046
2047 do.body200:                                       ; preds = %do.end193
2048   br i1 undef, label %do.end254, label %cond.true203
2049
2050 cond.true203:                                     ; preds = %do.body200
2051   br i1 undef, label %do.body218, label %cond.true221
2052
2053 do.body218:                                       ; preds = %cond.true203
2054   br i1 undef, label %do.end254, label %cond.true221
2055
2056 cond.true221:                                     ; preds = %do.body218, %cond.true203
2057   br i1 undef, label %if.then232, label %do.body236
2058
2059 if.then232:                                       ; preds = %cond.true221
2060   br label %do.body236
2061
2062 do.body236:                                       ; preds = %if.then232, %cond.true221
2063   br i1 undef, label %do.end254, label %cond.true239
2064
2065 cond.true239:                                     ; preds = %do.body236
2066   br i1 undef, label %if.then250, label %do.end254
2067
2068 if.then250:                                       ; preds = %cond.true239
2069   br label %do.end254
2070
2071 do.end254:                                        ; preds = %if.then250, %cond.true239, %do.body236, %do.body218, %do.body200
2072   br i1 undef, label %do.end277, label %cond.true263
2073
2074 cond.true263:                                     ; preds = %do.end254
2075   br i1 undef, label %if.then274, label %do.end277
2076
2077 if.then274:                                       ; preds = %cond.true263
2078   unreachable
2079
2080 do.end277:                                        ; preds = %cond.true263, %do.end254
2081   br i1 undef, label %if.then280, label %do.body283
2082
2083 if.then280:                                       ; preds = %do.end277
2084   br label %do.body283
2085
2086 do.body283:                                       ; preds = %if.then280, %do.end277, %do.end193
2087   br i1 undef, label %if.end301, label %cond.true286
2088
2089 cond.true286:                                     ; preds = %do.body283
2090   br i1 undef, label %if.then297, label %if.end301
2091
2092 if.then297:                                       ; preds = %cond.true286
2093   br label %if.end301
2094
2095 if.end301:                                        ; preds = %if.then297, %cond.true286, %do.body283
2096   br i1 undef, label %if.then304, label %do.body351
2097
2098 if.then304:                                       ; preds = %if.end301, %do.end166
2099   br i1 undef, label %do.body309.lr.ph, label %do.body351
2100
2101 do.body309.lr.ph:                                 ; preds = %if.then304
2102   br label %do.body309
2103
2104 do.body309:                                       ; preds = %for.cond.backedge, %do.body309.lr.ph
2105   br i1 undef, label %do.end328, label %cond.true312
2106
2107 cond.true312:                                     ; preds = %do.body309
2108   br i1 undef, label %if.then323, label %do.end328
2109
2110 if.then323:                                       ; preds = %cond.true312
2111   br label %do.end328
2112
2113 do.end328:                                        ; preds = %if.then323, %cond.true312, %do.body309
2114   br i1 undef, label %for.cond.backedge, label %cond.true335
2115
2116 for.cond.backedge:                                ; preds = %if.then346, %cond.true335, %do.end328
2117   br i1 undef, label %do.body309, label %do.body351
2118
2119 cond.true335:                                     ; preds = %do.end328
2120   br i1 undef, label %if.then346, label %for.cond.backedge
2121
2122 if.then346:                                       ; preds = %cond.true335
2123   br label %for.cond.backedge
2124
2125 do.body351:                                       ; preds = %for.cond.backedge, %if.then304, %if.end301
2126   br i1 undef, label %if.then354, label %if.end355
2127
2128 if.then354:                                       ; preds = %do.body351
2129   br label %if.end355
2130
2131 if.end355:                                        ; preds = %if.then354, %do.body351
2132   br i1 undef, label %if.else, label %if.then364
2133
2134 if.then364:                                       ; preds = %if.end355
2135   br label %do.body366
2136
2137 if.else:                                          ; preds = %if.end355
2138   br label %do.body366
2139
2140 do.body366:                                       ; preds = %if.else, %if.then364
2141   br i1 undef, label %if.then369, label %if.end377.critedge
2142
2143 if.then369:                                       ; preds = %do.body366
2144   br label %if.end377
2145
2146 if.end377.critedge:                               ; preds = %do.body366
2147   br label %if.end377
2148
2149 if.end377:                                        ; preds = %if.end377.critedge, %if.then369
2150   br i1 undef, label %if.then383, label %if.end392.critedge
2151
2152 if.then383:                                       ; preds = %if.end377
2153   br label %if.end392
2154
2155 if.end392.critedge:                               ; preds = %if.end377
2156   br label %if.end392
2157
2158 if.end392:                                        ; preds = %if.end392.critedge, %if.then383
2159   br i1 undef, label %if.then398, label %if.end399
2160
2161 if.then398:                                       ; preds = %if.end392
2162   br label %if.end399
2163
2164 if.end399:                                        ; preds = %if.then398, %if.end392
2165   invoke void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*)*)(i8* undef, i8* undef)
2166           to label %eh.cont unwind label %lpad, !clang.arc.no_objc_arc_exceptions !0
2167
2168 eh.cont:                                          ; preds = %if.end399
2169   br i1 undef, label %if.then430, label %if.end439.critedge
2170
2171 if.then430:                                       ; preds = %eh.cont
2172   %1 = call i8* @objc_retain(i8* %0)
2173   br label %if.end439
2174
2175 lpad:                                             ; preds = %if.end399
2176   %2 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__objc_personality_v0 to i8*)
2177           catch i8* @"OBJC_EHTYPE_$_NSException"
2178   unreachable
2179
2180 if.end439.critedge:                               ; preds = %eh.cont
2181   %3 = call i8* @objc_retain(i8* %0)
2182   br label %if.end439
2183
2184 if.end439:                                        ; preds = %if.end439.critedge, %if.then430
2185   call void @objc_release(i8* %0), !clang.imprecise_release !0
2186   unreachable
2187
2188 return:                                           ; No predecessors!
2189   ret void
2190 }
2191
2192
2193 !0 = !{}