Home | History | Annotate | Download | only in ObjCARC
      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() personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) {
     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 personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) {
    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 }
    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 }
    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 }
    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 }
    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 }
   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 }
   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 }
   1035           cleanup
   1036   br label %ehcleanup
   1037 
   1038 lpad3:                                            ; preds = %land.rhs, %invoke.cont
   1039   %tmp119 = landingpad { i8*, i32 }
   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 }
   1048           cleanup
   1049   br label %ehcleanup26
   1050 
   1051 lpad20:                                           ; preds = %invoke.cont17
   1052   %tmp122 = landingpad { i8*, i32 }
   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 }
   1061           cleanup
   1062   unreachable
   1063 
   1064 lpad51:                                           ; preds = %invoke.cont44
   1065   %tmp125 = landingpad { i8*, i32 }
   1066           cleanup
   1067   unreachable
   1068 
   1069 lpad61:                                           ; preds = %land.rhs58
   1070   %tmp127 = landingpad { i8*, i32 }
   1071           cleanup
   1072   unreachable
   1073 
   1074 lpad66.body.thread:                               ; preds = %invoke.cont62
   1075   %tmp128 = landingpad { i8*, i32 }
   1076           cleanup
   1077   unreachable
   1078 
   1079 lpad66.body:                                      ; preds = %land.end70
   1080   %tmp129 = landingpad { i8*, i32 }
   1081           cleanup
   1082   unreachable
   1083 
   1084 lpad94:                                           ; preds = %invoke.cont95, %invoke.cont91
   1085   %tmp133 = landingpad { i8*, i32 }
   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 }
   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 }
   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 }
   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 }
   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 }
   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 }
   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 }
   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 }
   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 }
   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 }
   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 }
   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 }
   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 }
   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 }
   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 }
   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 }
   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 }
   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 }
   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 }
   1663           cleanup
   1664   unreachable
   1665 
   1666 lpad164.body:                                     ; preds = %invoke.cont157
   1667   %tmp1158 = landingpad { i8*, i32 }
   1668           cleanup
   1669   unreachable
   1670 
   1671 lpad183:                                          ; preds = %invoke.cont184, %invoke.cont165
   1672   %tmp1159 = landingpad { i8*, i32 }
   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 }
   1681           cleanup
   1682   unreachable
   1683 
   1684 lpad200:                                          ; preds = %invoke.cont197
   1685   %tmp1161 = landingpad { i8*, i32 }
   1686           cleanup
   1687   unreachable
   1688 
   1689 lpad203:                                          ; preds = %invoke.cont207, %invoke.cont201
   1690   %tmp1162 = landingpad { i8*, i32 }
   1691           cleanup
   1692   unreachable
   1693 
   1694 lpad212.body:                                     ; preds = %invoke.cont208
   1695   %tmp1163 = landingpad { i8*, i32 }
   1696           cleanup
   1697   unreachable
   1698 
   1699 lpad220:                                          ; preds = %invoke.cont213
   1700   %tmp1164 = landingpad { i8*, i32 }
   1701           cleanup
   1702   br label %eh.resume
   1703 
   1704 lpad227:                                          ; preds = %invoke.cont231, %invoke.cont221
   1705   %tmp1166 = landingpad { i8*, i32 }
   1706           cleanup
   1707   br label %ehcleanup239
   1708 
   1709 lpad236.body:                                     ; preds = %invoke.cont232
   1710   %tmp1167 = landingpad { i8*, i32 }
   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 }
   1719           cleanup
   1720   unreachable
   1721 
   1722 lpad249:                                          ; preds = %invoke.cont247
   1723   %tmp1169 = landingpad { i8*, i32 }
   1724           cleanup
   1725   unreachable
   1726 
   1727 lpad252:                                          ; preds = %invoke.cont250
   1728   %tmp1170 = landingpad { i8*, i32 }
   1729           cleanup
   1730   br label %ehcleanup263
   1731 
   1732 lpad255:                                          ; preds = %invoke.cont253
   1733   %tmp1171 = landingpad { i8*, i32 }
   1734           cleanup
   1735   br label %ehcleanup263
   1736 
   1737 lpad258:                                          ; preds = %invoke.cont256
   1738   %tmp1172 = landingpad { i8*, i32 }
   1739           cleanup
   1740   unreachable
   1741 
   1742 ehcleanup263:                                     ; preds = %lpad255, %lpad252
   1743   unreachable
   1744 
   1745 lpad265:                                          ; preds = %invoke.cont259
   1746   %tmp1173 = landingpad { i8*, i32 }
   1747           cleanup
   1748   unreachable
   1749 
   1750 lpad273:                                          ; preds = %invoke.cont266
   1751   %tmp1175 = landingpad { i8*, i32 }
   1752           cleanup
   1753   unreachable
   1754 
   1755 lpad277:                                          ; preds = %invoke.cont274
   1756   %tmp1176 = landingpad { i8*, i32 }
   1757           cleanup
   1758   unreachable
   1759 
   1760 lpad289:                                          ; preds = %invoke.cont281
   1761   %tmp1177 = landingpad { i8*, i32 }
   1762           cleanup
   1763   unreachable
   1764 
   1765 lpad301:                                          ; preds = %invoke.cont290
   1766   %tmp1180 = landingpad { i8*, i32 }
   1767           cleanup
   1768   unreachable
   1769 
   1770 lpad308:                                          ; preds = %invoke.cont302
   1771   %tmp1182 = landingpad { i8*, i32 }
   1772           cleanup
   1773   unreachable
   1774 
   1775 lpad311:                                          ; preds = %invoke.cont309
   1776   %tmp1183 = landingpad { i8*, i32 }
   1777           cleanup
   1778   unreachable
   1779 
   1780 lpad314:                                          ; preds = %invoke.cont312
   1781   %tmp1184 = landingpad { i8*, i32 }
   1782           cleanup
   1783   unreachable
   1784 
   1785 lpad320:                                          ; preds = %invoke.cont315
   1786   %tmp1186 = landingpad { i8*, i32 }
   1787           cleanup
   1788   unreachable
   1789 
   1790 lpad340.body.thread:                              ; preds = %land.rhs335
   1791   %tmp1188 = landingpad { i8*, i32 }
   1792           cleanup
   1793   unreachable
   1794 
   1795 lpad340.body:                                     ; preds = %land.end344
   1796   %tmp1189 = landingpad { i8*, i32 }
   1797           cleanup
   1798   unreachable
   1799 
   1800 lpad360:                                          ; preds = %invoke.cont345
   1801   %tmp1191 = landingpad { i8*, i32 }
   1802           cleanup
   1803   br label %eh.resume
   1804 
   1805 lpad363:                                          ; preds = %invoke.cont373, %invoke.cont361
   1806   %tmp1192 = landingpad { i8*, i32 }
   1807           cleanup
   1808   unreachable
   1809 
   1810 lpad369:                                          ; preds = %invoke.cont364
   1811   %tmp1194 = landingpad { i8*, i32 }
   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 }
   1817           cleanup
   1818   br label %ehcleanup477
   1819 
   1820 lpad398:                                          ; preds = %invoke.cont396
   1821   %tmp1199 = landingpad { i8*, i32 }
   1822           cleanup
   1823   unreachable
   1824 
   1825 lpad401:                                          ; preds = %invoke.cont399
   1826   %tmp1200 = landingpad { i8*, i32 }
   1827           cleanup
   1828   unreachable
   1829 
   1830 lpad411:                                          ; preds = %invoke.cont409
   1831   %tmp1201 = landingpad { i8*, i32 }
   1832           cleanup
   1833   unreachable
   1834 
   1835 lpad425:                                          ; preds = %invoke.cont423
   1836   %tmp1203 = landingpad { i8*, i32 }
   1837           cleanup
   1838   br label %ehcleanup477
   1839 
   1840 lpad428:                                          ; preds = %invoke.cont426
   1841   %tmp1204 = landingpad { i8*, i32 }
   1842           cleanup
   1843   unreachable
   1844 
   1845 lpad454:                                          ; preds = %invoke.cont452
   1846   %tmp1207 = landingpad { i8*, i32 }
   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 }
   1855           cleanup
   1856   br label %ehcleanup560
   1857 
   1858 lpad498:                                          ; preds = %invoke.cont490
   1859   %tmp1214 = landingpad { i8*, i32 }
   1860           cleanup
   1861   unreachable
   1862 
   1863 lpad505:                                          ; preds = %invoke.cont503
   1864   %tmp1215 = landingpad { i8*, i32 }
   1865           cleanup
   1866   unreachable
   1867 
   1868 lpad508:                                          ; preds = %invoke.cont506
   1869   %tmp1216 = landingpad { i8*, i32 }
   1870           cleanup
   1871   unreachable
   1872 
   1873 lpad514:                                          ; preds = %msgSend.call
   1874   %tmp1217 = landingpad { i8*, i32 }
   1875           cleanup
   1876   unreachable
   1877 
   1878 lpad527:                                          ; preds = %invoke.cont521
   1879   %tmp1219 = landingpad { i8*, i32 }
   1880           cleanup
   1881   br label %ehcleanup560
   1882 
   1883 lpad533:                                          ; preds = %invoke.cont531
   1884   %tmp1220 = landingpad { i8*, i32 }
   1885           cleanup
   1886   unreachable
   1887 
   1888 lpad545:                                          ; preds = %invoke.cont543
   1889   %tmp1222 = landingpad { i8*, i32 }
   1890           cleanup
   1891   unreachable
   1892 
   1893 lpad553:                                          ; preds = %invoke.cont548
   1894   %tmp1224 = landingpad { i8*, i32 }
   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 }
   1903           cleanup
   1904   unreachable
   1905 
   1906 lpad571:                                          ; preds = %invoke.cont566
   1907   %tmp1227 = landingpad { i8*, i32 }
   1908           cleanup
   1909   unreachable
   1910 
   1911 lpad580:                                          ; preds = %invoke.cont572
   1912   %tmp1228 = landingpad { i8*, i32 }
   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() personality i8* bitcast (i32 (...)* @__objc_personality_v0 to i8*) {
   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 }
   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 = !{}
   2194