brintos

brintos / llvm-project-archived public Read only

0
0
Text · 85.4 KiB · 431b377 Raw
2193 lines · plain
1; RUN: opt -passes=objc-arc -S < %s2; rdar://122774463; rdar://124805354; rdar://145909145; rdar://153778906 7; The total number of paths grows exponentially with the number of branches, and a8; computation of this number can overflow any reasonable fixed-sized9; integer. This can occur in both the addition phase when we are adding up the10; total bottomup/topdown paths and when we multiply them together at the end.11 12target 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"13target triple = "thumbv7-apple-ios5.0.0"14 15%struct.NSConstantString = type { ptr, i32, ptr, 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 21declare ptr @llvm.objc.retain(ptr) nonlazybind22declare ptr @llvm.objc.retainAutoreleasedReturnValue(ptr) nonlazybind23declare void @llvm.objc.release(ptr) nonlazybind24declare ptr @returner()25declare ptr @objc_msgSend(ptr, ptr, ...) nonlazybind26declare void @NSLog(ptr, ...)27declare void @objc_msgSend_stret(ptr, ptr, ...)28declare i32 @__gxx_personality_sj0(...)29declare i32 @__objc_personality_v0(...)30 31 32define hidden void @test1(i1 %arg) personality ptr @__gxx_personality_sj0 {33entry:34  br i1 %arg, label %msgSend.nullinit, label %msgSend.call35 36msgSend.call:                                     ; preds = %entry37  br label %msgSend.cont38 39msgSend.nullinit:                                 ; preds = %entry40  br label %msgSend.cont41 42msgSend.cont:                                     ; preds = %msgSend.nullinit, %msgSend.call43  %0 = call ptr @llvm.objc.retain(ptr @_unnamed_cfstring) nounwind44  br i1 %arg, label %msgSend.nullinit33, label %msgSend.call3245 46msgSend.call32:                                   ; preds = %if.end1047  br label %msgSend.cont3448 49msgSend.nullinit33:                               ; preds = %if.end1050  br label %msgSend.cont3451 52msgSend.cont34:                                   ; preds = %msgSend.nullinit33, %msgSend.call3253  br i1 %arg, label %msgSend.nullinit38, label %msgSend.call3754 55msgSend.call37:                                   ; preds = %msgSend.cont3456  br label %msgSend.cont3957 58msgSend.nullinit38:                               ; preds = %msgSend.cont3459  br label %msgSend.cont3960 61msgSend.cont39:                                   ; preds = %msgSend.nullinit38, %msgSend.call3762  br i1 %arg, label %msgSend.nullinit49, label %msgSend.call4863 64msgSend.call48:                                   ; preds = %msgSend.cont3965  br label %msgSend.cont5066 67msgSend.nullinit49:                               ; preds = %msgSend.cont3968  br label %msgSend.cont5069 70msgSend.cont50:                                   ; preds = %msgSend.nullinit49, %msgSend.call4871  br i1 %arg, label %msgSend.nullinit61, label %msgSend.call6072 73msgSend.call60:                                   ; preds = %msgSend.cont5074  br label %msgSend.cont6275 76msgSend.nullinit61:                               ; preds = %msgSend.cont5077  br label %msgSend.cont6278 79msgSend.cont62:                                   ; preds = %msgSend.nullinit61, %msgSend.call6080  br i1 %arg, label %msgSend.nullinit67, label %msgSend.call6681 82msgSend.call66:                                   ; preds = %msgSend.cont6283  br label %msgSend.cont6884 85msgSend.nullinit67:                               ; preds = %msgSend.cont6286  br label %msgSend.cont6887 88msgSend.cont68:                                   ; preds = %msgSend.nullinit67, %msgSend.call6689  br i1 %arg, label %msgSend.nullinit84, label %msgSend.call8390 91msgSend.call83:                                   ; preds = %msgSend.cont6892  br label %msgSend.cont8593 94msgSend.nullinit84:                               ; preds = %msgSend.cont6895  br label %msgSend.cont8596 97msgSend.cont85:                                   ; preds = %msgSend.nullinit84, %msgSend.call8398  br i1 %arg, label %msgSend.nullinit90, label %msgSend.call8999 100msgSend.call89:                                   ; preds = %msgSend.cont85101  br label %msgSend.cont91102 103msgSend.nullinit90:                               ; preds = %msgSend.cont85104  br label %msgSend.cont91105 106msgSend.cont91:                                   ; preds = %msgSend.nullinit90, %msgSend.call89107  br i1 %arg, label %msgSend.nullinit104, label %msgSend.call103108 109msgSend.call103:                                  ; preds = %msgSend.cont91110  br label %msgSend.cont105111 112msgSend.nullinit104:                              ; preds = %msgSend.cont91113  br label %msgSend.cont105114 115msgSend.cont105:                                  ; preds = %msgSend.nullinit104, %msgSend.call103116  br i1 %arg, label %land.lhs.true, label %if.end123117 118land.lhs.true:                                    ; preds = %msgSend.cont105119  br i1 %arg, label %if.then117, label %if.end123120 121if.then117:                                       ; preds = %land.lhs.true122  br label %if.end123123 124if.end123:                                        ; preds = %if.then117, %land.lhs.true, %msgSend.cont105125  br i1 %arg, label %msgSend.nullinit132, label %msgSend.call131126 127msgSend.call131:                                  ; preds = %if.end123128  br label %msgSend.cont133129 130msgSend.nullinit132:                              ; preds = %if.end123131  br label %msgSend.cont133132 133msgSend.cont133:                                  ; preds = %msgSend.nullinit132, %msgSend.call131134  br i1 %arg, label %msgSend.nullinit139, label %msgSend.call138135 136msgSend.call138:                                  ; preds = %msgSend.cont133137  br label %msgSend.cont140138 139msgSend.nullinit139:                              ; preds = %msgSend.cont133140  br label %msgSend.cont140141 142msgSend.cont140:                                  ; preds = %msgSend.nullinit139, %msgSend.call138143  br i1 %arg, label %if.then151, label %if.end157144 145if.then151:                                       ; preds = %msgSend.cont140146  br label %if.end157147 148if.end157:                                        ; preds = %if.then151, %msgSend.cont140149  br i1 %arg, label %msgSend.nullinit164, label %msgSend.call163150 151msgSend.call163:                                  ; preds = %if.end157152  br label %msgSend.cont165153 154msgSend.nullinit164:                              ; preds = %if.end157155  br label %msgSend.cont165156 157msgSend.cont165:                                  ; preds = %msgSend.nullinit164, %msgSend.call163158  br i1 %arg, label %msgSend.nullinit176, label %msgSend.call175159 160msgSend.call175:                                  ; preds = %msgSend.cont165161  br label %msgSend.cont177162 163msgSend.nullinit176:                              ; preds = %msgSend.cont165164  br label %msgSend.cont177165 166msgSend.cont177:                                  ; preds = %msgSend.nullinit176, %msgSend.call175167  br i1 %arg, label %land.lhs.true181, label %if.end202168 169land.lhs.true181:                                 ; preds = %msgSend.cont177170  br i1 %arg, label %if.then187, label %if.end202171 172if.then187:                                       ; preds = %land.lhs.true181173  br i1 %arg, label %msgSend.nullinit199, label %msgSend.call198174 175msgSend.call198:                                  ; preds = %if.then187176  br label %msgSend.cont200177 178msgSend.nullinit199:                              ; preds = %if.then187179  br label %msgSend.cont200180 181msgSend.cont200:                                  ; preds = %msgSend.nullinit199, %msgSend.call198182  br label %if.end202183 184if.end202:                                        ; preds = %msgSend.cont200, %land.lhs.true181, %msgSend.cont177185  br i1 %arg, label %msgSend.nullinit236, label %msgSend.call235186 187msgSend.call235:                                  ; preds = %if.end202188  br label %msgSend.cont237189 190msgSend.nullinit236:                              ; preds = %if.end202191  br label %msgSend.cont237192 193msgSend.cont237:                                  ; preds = %msgSend.nullinit236, %msgSend.call235194  br i1 %arg, label %msgSend.nullinit254, label %msgSend.call253195 196msgSend.call253:                                  ; preds = %msgSend.cont237197  br label %msgSend.cont255198 199msgSend.nullinit254:                              ; preds = %msgSend.cont237200  br label %msgSend.cont255201 202msgSend.cont255:                                  ; preds = %msgSend.nullinit254, %msgSend.call253203  br i1 %arg, label %msgSend.nullinit269, label %msgSend.call268204 205msgSend.call268:                                  ; preds = %msgSend.cont255206  br label %msgSend.cont270207 208msgSend.nullinit269:                              ; preds = %msgSend.cont255209  br label %msgSend.cont270210 211msgSend.cont270:                                  ; preds = %msgSend.nullinit269, %msgSend.call268212  br i1 %arg, label %msgSend.nullinit281, label %msgSend.call280213 214msgSend.call280:                                  ; preds = %msgSend.cont270215  br label %msgSend.cont282216 217msgSend.nullinit281:                              ; preds = %msgSend.cont270218  br label %msgSend.cont282219 220msgSend.cont282:                                  ; preds = %msgSend.nullinit281, %msgSend.call280221  br i1 %arg, label %msgSend.nullinit287, label %msgSend.call286222 223msgSend.call286:                                  ; preds = %msgSend.cont282224  br label %msgSend.cont288225 226msgSend.nullinit287:                              ; preds = %msgSend.cont282227  br label %msgSend.cont288228 229msgSend.cont288:                                  ; preds = %msgSend.nullinit287, %msgSend.call286230  br i1 %arg, label %msgSend.nullinit303, label %msgSend.call302231 232msgSend.call302:                                  ; preds = %msgSend.cont288233  br label %msgSend.cont304234 235msgSend.nullinit303:                              ; preds = %msgSend.cont288236  br label %msgSend.cont304237 238msgSend.cont304:                                  ; preds = %msgSend.nullinit303, %msgSend.call302239  br i1 %arg, label %msgSend.nullinit344, label %msgSend.call343240 241msgSend.call343:                                  ; preds = %msgSend.cont304242  br label %msgSend.cont345243 244msgSend.nullinit344:                              ; preds = %msgSend.cont304245  br label %msgSend.cont345246 247msgSend.cont345:                                  ; preds = %msgSend.nullinit344, %msgSend.call343248  br i1 %arg, label %msgSend.nullinit350, label %msgSend.call349249 250msgSend.call349:                                  ; preds = %msgSend.cont345251  br label %msgSend.cont351252 253msgSend.nullinit350:                              ; preds = %msgSend.cont345254  br label %msgSend.cont351255 256msgSend.cont351:                                  ; preds = %msgSend.nullinit350, %msgSend.call349257  br i1 %arg, label %msgSend.nullinit366, label %msgSend.call365258 259msgSend.call365:                                  ; preds = %msgSend.cont351260  br label %msgSend.cont367261 262msgSend.nullinit366:                              ; preds = %msgSend.cont351263  br label %msgSend.cont367264 265msgSend.cont367:                                  ; preds = %msgSend.nullinit366, %msgSend.call365266  br i1 %arg, label %msgSend.nullinit376, label %msgSend.call375267 268msgSend.call375:                                  ; preds = %msgSend.cont367269  br label %msgSend.cont377270 271msgSend.nullinit376:                              ; preds = %msgSend.cont367272  br label %msgSend.cont377273 274msgSend.cont377:                                  ; preds = %msgSend.nullinit376, %msgSend.call375275  br i1 %arg, label %if.then384, label %if.else401276 277if.then384:                                       ; preds = %msgSend.cont377278  br i1 %arg, label %msgSend.nullinit392, label %msgSend.call391279 280msgSend.call391:                                  ; preds = %if.then384281  br label %msgSend.cont393282 283msgSend.nullinit392:                              ; preds = %if.then384284  br label %msgSend.cont393285 286msgSend.cont393:                                  ; preds = %msgSend.nullinit392, %msgSend.call391287  br label %if.end418288 289if.else401:                                       ; preds = %msgSend.cont377290  br i1 %arg, label %msgSend.nullinit409, label %msgSend.call408291 292msgSend.call408:                                  ; preds = %if.else401293  br label %msgSend.cont410294 295msgSend.nullinit409:                              ; preds = %if.else401296  br label %msgSend.cont410297 298msgSend.cont410:                                  ; preds = %msgSend.nullinit409, %msgSend.call408299  br label %if.end418300 301if.end418:                                        ; preds = %msgSend.cont410, %msgSend.cont393302  br i1 %arg, label %msgSend.nullinit470, label %msgSend.call469303 304msgSend.call469:                                  ; preds = %if.end418305  br label %msgSend.cont471306 307msgSend.nullinit470:                              ; preds = %if.end418308  br label %msgSend.cont471309 310msgSend.cont471:                                  ; preds = %msgSend.nullinit470, %msgSend.call469311  br i1 %arg, label %msgSend.nullinit484, label %msgSend.call483312 313msgSend.call483:                                  ; preds = %msgSend.cont471314  br label %msgSend.cont485315 316msgSend.nullinit484:                              ; preds = %msgSend.cont471317  br label %msgSend.cont485318 319msgSend.cont485:                                  ; preds = %msgSend.nullinit484, %msgSend.call483320  br i1 %arg, label %msgSend.nullinit500, label %msgSend.call499321 322msgSend.call499:                                  ; preds = %msgSend.cont485323  br label %msgSend.cont501324 325msgSend.nullinit500:                              ; preds = %msgSend.cont485326  br label %msgSend.cont501327 328msgSend.cont501:                                  ; preds = %msgSend.nullinit500, %msgSend.call499329  br i1 %arg, label %msgSend.nullinit506, label %msgSend.call505330 331msgSend.call505:                                  ; preds = %msgSend.cont501332  br label %msgSend.cont507333 334msgSend.nullinit506:                              ; preds = %msgSend.cont501335  br label %msgSend.cont507336 337msgSend.cont507:                                  ; preds = %msgSend.nullinit506, %msgSend.call505338  call void @llvm.objc.release(ptr @_unnamed_cfstring) nounwind, !clang.imprecise_release !0339  ret void340}341 342; Function Attrs: optsize ssp uwtable343define void @test2(i1 %arg) unnamed_addr align 2 personality ptr @__gxx_personality_sj0 {344bb:345  br i1 %arg, label %bb3, label %bb2346 347bb2:                                              ; preds = %bb348  br label %bb3349 350bb3:                                              ; preds = %bb2, %bb351  br i1 %arg, label %bb5, label %bb4352 353bb4:                                              ; preds = %bb3354  br label %bb5355 356bb5:                                              ; preds = %bb4, %bb3357  br i1 %arg, label %bb7, label %bb6358 359bb6:                                              ; preds = %bb5360  br label %bb7361 362bb7:                                              ; preds = %bb6, %bb5363  br i1 %arg, label %bb9, label %bb8364 365bb8:                                              ; preds = %bb7366  unreachable367 368bb9:                                              ; preds = %bb7369  br i1 %arg, label %bb11, label %bb10370 371bb10:                                             ; preds = %bb9372  br label %bb11373 374bb11:                                             ; preds = %bb10, %bb9375  br i1 %arg, label %bb13, label %bb12376 377bb12:                                             ; preds = %bb11378  br label %bb13379 380bb13:                                             ; preds = %bb12, %bb11381  br i1 %arg, label %bb15, label %bb14382 383bb14:                                             ; preds = %bb13384  br label %bb15385 386bb15:                                             ; preds = %bb14, %bb13387  br i1 %arg, label %bb17, label %bb16388 389bb16:                                             ; preds = %bb15390  br label %bb17391 392bb17:                                             ; preds = %bb16, %bb15393  br i1 %arg, label %bb19, label %bb18394 395bb18:                                             ; preds = %bb17396  br label %bb19397 398bb19:                                             ; preds = %bb18, %bb17399  br i1 %arg, label %bb222, label %bb20400 401bb20:                                             ; preds = %bb19402  br i1 %arg, label %bb222, label %bb21403 404bb21:                                             ; preds = %bb20405  br i1 %arg, label %bb22, label %bb30406 407bb22:                                             ; preds = %bb21408  br i1 %arg, label %bb23, label %bb32409 410bb23:                                             ; preds = %bb22411  br i1 %arg, label %bb24, label %bb34412 413bb24:                                             ; preds = %bb23414  br i1 %arg, label %bb26, label %bb25415 416bb25:                                             ; preds = %bb24417  br label %bb27418 419bb26:                                             ; preds = %bb24420  br label %bb27421 422bb27:                                             ; preds = %bb26, %bb25423  br i1 %arg, label %bb28, label %bb42424 425bb28:                                             ; preds = %bb27426  br i1 %arg, label %bb36, label %bb29427 428bb29:                                             ; preds = %bb28429  br label %bb36430 431bb30:                                             ; preds = %bb210, %bb207, %bb203, %bb199, %bb182, %bb176, %bb174, %bb171, %bb136, %bb132, %bb21432  br label %bb213433 434bb32:                                             ; preds = %bb22435  unreachable436 437bb34:                                             ; preds = %bb23438  unreachable439 440bb36:                                             ; preds = %bb29, %bb28441  br i1 %arg, label %bb38, label %bb37442 443bb37:                                             ; preds = %bb36444  br label %bb39445 446bb38:                                             ; preds = %bb36447  br label %bb39448 449bb39:                                             ; preds = %bb38, %bb37450  br i1 %arg, label %bb41, label %bb40451 452bb40:                                             ; preds = %bb39453  unreachable454 455bb41:                                             ; preds = %bb39456  br label %bb42457 458bb42:                                             ; preds = %bb41, %bb27459  br i1 %arg, label %bb43, label %bb214460 461bb43:                                             ; preds = %bb42462  br i1 %arg, label %bb47, label %bb45463 464bb45:                                             ; 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, %bb43465  unreachable466 467bb47:                                             ; preds = %bb43468  br i1 %arg, label %bb48, label %bb106469 470bb48:                                             ; preds = %bb47471  br i1 %arg, label %bb50, label %bb49472 473bb49:                                             ; preds = %bb48474  br label %bb51475 476bb50:                                             ; preds = %bb48477  br label %bb51478 479bb51:                                             ; preds = %bb50, %bb49480  br i1 %arg, label %bb53, label %bb45481 482bb53:                                             ; preds = %bb51483  br i1 %arg, label %bb54, label %bb134484 485bb54:                                             ; preds = %bb53486  br i1 %arg, label %bb55, label %bb45487 488bb55:                                             ; preds = %bb54489  br i1 %arg, label %bb57, label %bb56490 491bb56:                                             ; preds = %bb55492  br label %bb58493 494bb57:                                             ; preds = %bb55495  br label %bb58496 497bb58:                                             ; preds = %bb57, %bb56498  br i1 %arg, label %bb60, label %bb45499 500bb60:                                             ; preds = %bb58501  br i1 %arg, label %bb61, label %bb45502 503bb61:                                             ; preds = %bb60504  br i1 %arg, label %bb63, label %bb62505 506bb62:                                             ; preds = %bb61507  br label %bb64508 509bb63:                                             ; preds = %bb61510  br label %bb64511 512bb64:                                             ; preds = %bb63, %bb62513  br i1 %arg, label %bb66, label %bb45514 515bb66:                                             ; preds = %bb64516  br i1 %arg, label %bb67, label %bb45517 518bb67:                                             ; preds = %bb66519  br i1 %arg, label %bb69, label %bb68520 521bb68:                                             ; preds = %bb67522  br label %bb70523 524bb69:                                             ; preds = %bb67525  br label %bb70526 527bb70:                                             ; preds = %bb69, %bb68528  br i1 %arg, label %bb72, label %bb45529 530bb72:                                             ; preds = %bb70531  br i1 %arg, label %bb73, label %bb45532 533bb73:                                             ; preds = %bb72534  br i1 %arg, label %bb75, label %bb74535 536bb74:                                             ; preds = %bb73537  br label %bb76538 539bb75:                                             ; preds = %bb73540  br label %bb76541 542bb76:                                             ; preds = %bb75, %bb74543  br i1 %arg, label %bb78, label %bb45544 545bb78:                                             ; preds = %bb76546  br i1 %arg, label %bb79, label %bb45547 548bb79:                                             ; preds = %bb78549  br i1 %arg, label %bb81, label %bb80550 551bb80:                                             ; preds = %bb79552  br label %bb82553 554bb81:                                             ; preds = %bb79555  br label %bb82556 557bb82:                                             ; preds = %bb81, %bb80558  br i1 %arg, label %bb84, label %bb45559 560bb84:                                             ; preds = %bb82561  br i1 %arg, label %bb85, label %bb45562 563bb85:                                             ; preds = %bb84564  br i1 %arg, label %bb87, label %bb86565 566bb86:                                             ; preds = %bb85567  br label %bb88568 569bb87:                                             ; preds = %bb85570  br label %bb88571 572bb88:                                             ; preds = %bb87, %bb86573  br i1 %arg, label %bb90, label %bb45574 575bb90:                                             ; preds = %bb88576  br i1 %arg, label %bb91, label %bb45577 578bb91:                                             ; preds = %bb90579  br i1 %arg, label %bb93, label %bb92580 581bb92:                                             ; preds = %bb91582  br label %bb94583 584bb93:                                             ; preds = %bb91585  br label %bb94586 587bb94:                                             ; preds = %bb93, %bb92588  br i1 %arg, label %bb96, label %bb45589 590bb96:                                             ; preds = %bb94591  br i1 %arg, label %bb97, label %bb45592 593bb97:                                             ; preds = %bb96594  br i1 %arg, label %bb99, label %bb98595 596bb98:                                             ; preds = %bb97597  br label %bb100598 599bb99:                                             ; preds = %bb97600  br label %bb100601 602bb100:                                            ; preds = %bb99, %bb98603  br i1 %arg, label %bb102, label %bb45604 605bb102:                                            ; preds = %bb100606  br i1 %arg, label %bb104, label %bb45607 608bb104:                                            ; preds = %bb102609  br i1 %arg, label %bb108, label %bb105610 611bb105:                                            ; preds = %bb104612  br i1 %arg, label %bb108, label %bb45613 614bb106:                                            ; preds = %bb47615  unreachable616 617bb108:                                            ; preds = %bb105, %bb104618  br i1 %arg, label %bb110, label %bb45619 620bb110:                                            ; preds = %bb108621  br i1 %arg, label %bb112, label %bb45622 623bb112:                                            ; preds = %bb110624  br i1 %arg, label %bb114, label %bb45625 626bb114:                                            ; preds = %bb112627  br i1 %arg, label %bb116, label %bb45628 629bb116:                                            ; preds = %bb114630  br i1 %arg, label %bb118, label %bb45631 632bb118:                                            ; preds = %bb116633  br i1 %arg, label %bb120, label %bb45634 635bb120:                                            ; preds = %bb118636  br i1 %arg, label %bb122, label %bb45637 638bb122:                                            ; preds = %bb120639  br i1 %arg, label %bb124, label %bb45640 641bb124:                                            ; preds = %bb122642  br i1 %arg, label %bb126, label %bb45643 644bb126:                                            ; preds = %bb124645  br i1 %arg, label %bb128, label %bb45646 647bb128:                                            ; preds = %bb126648  br i1 %arg, label %bb130, label %bb45649 650bb130:                                            ; preds = %bb128651  br i1 %arg, label %bb132, label %bb45652 653bb132:                                            ; preds = %bb130654  br i1 %arg, label %bb135, label %bb30655 656bb134:                                            ; preds = %bb53657  unreachable658 659bb135:                                            ; preds = %bb132660  br i1 %arg, label %bb139, label %bb136661 662bb136:                                            ; preds = %bb135663  br i1 %arg, label %bb138, label %bb30664 665bb138:                                            ; preds = %bb136666  br label %bb139667 668bb139:                                            ; preds = %bb138, %bb135669  br i1 %arg, label %bb140, label %bb141670 671bb140:                                            ; preds = %bb139672  unreachable673 674bb141:                                            ; preds = %bb139675  br i1 %arg, label %bb142, label %bb215676 677bb142:                                            ; preds = %bb141678  br i1 %arg, label %bb144, label %bb143679 680bb143:                                            ; preds = %bb142681  br label %bb145682 683bb144:                                            ; preds = %bb142684  br label %bb145685 686bb145:                                            ; preds = %bb144, %bb143687  br i1 %arg, label %bb146, label %bb151688 689bb146:                                            ; preds = %bb145690  br i1 %arg, label %bb148, label %bb153691 692bb148:                                            ; preds = %bb146693  br i1 %arg, label %bb155, label %bb149694 695bb149:                                            ; preds = %bb148696  br i1 %arg, label %bb150, label %bb153697 698bb150:                                            ; preds = %bb149699  br label %bb155700 701bb151:                                            ; preds = %bb145702  unreachable703 704bb153:                                            ; preds = %bb158, %bb149, %bb146705  unreachable706 707bb155:                                            ; preds = %bb150, %bb148708  br i1 %arg, label %bb157, label %bb156709 710bb156:                                            ; preds = %bb155711  br label %bb158712 713bb157:                                            ; preds = %bb155714  br label %bb158715 716bb158:                                            ; preds = %bb157, %bb156717  br i1 %arg, label %bb160, label %bb153718 719bb160:                                            ; preds = %bb158720  br i1 %arg, label %bb162, label %bb161721 722bb161:                                            ; preds = %bb160723  br label %bb163724 725bb162:                                            ; preds = %bb160726  br label %bb163727 728bb163:                                            ; preds = %bb162, %bb161729  br i1 %arg, label %bb165, label %bb164730 731bb164:                                            ; preds = %bb163732  br label %bb165733 734bb165:                                            ; preds = %bb164, %bb163735  br i1 %arg, label %bb170, label %bb166736 737bb166:                                            ; preds = %bb165738  br i1 %arg, label %bb167, label %bb168739 740bb167:                                            ; preds = %bb166741  unreachable742 743bb168:                                            ; preds = %bb166744  unreachable745 746bb170:                                            ; preds = %bb165747  br i1 %arg, label %bb215, label %bb171748 749bb171:                                            ; preds = %bb170750  br i1 %arg, label %bb173, label %bb30751 752bb173:                                            ; preds = %bb171753  br i1 %arg, label %bb174, label %bb215754 755bb174:                                            ; preds = %bb173756  br i1 %arg, label %bb176, label %bb30757 758bb176:                                            ; preds = %bb174759  br i1 %arg, label %bb178, label %bb30760 761bb178:                                            ; preds = %bb176762  br i1 %arg, label %bb179, label %bb193763 764bb179:                                            ; preds = %bb178765  br i1 %arg, label %bb181, label %bb180766 767bb180:                                            ; preds = %bb179768  br label %bb182769 770bb181:                                            ; preds = %bb179771  br label %bb182772 773bb182:                                            ; preds = %bb181, %bb180774  br i1 %arg, label %bb184, label %bb30775 776bb184:                                            ; preds = %bb182777  %tmp185 = call ptr @returner()778  br i1 %arg, label %bb186, label %bb195779 780bb186:                                            ; preds = %bb184781  %tmp188 = call ptr @llvm.objc.retainAutoreleasedReturnValue(ptr %tmp185)782  %tmp189 = call ptr @llvm.objc.retain(ptr %tmp188)783  call void @llvm.objc.release(ptr %tmp189), !clang.imprecise_release !0784  br i1 %arg, label %bb197, label %bb190785 786bb190:                                            ; preds = %bb186787  br i1 %arg, label %bb192, label %bb195788 789bb192:                                            ; preds = %bb190790  br i1 %arg, label %bb197, label %bb195791 792bb193:                                            ; preds = %bb178793  br label %bb213794 795bb195:                                            ; preds = %bb192, %bb190, %bb184796  unreachable797 798bb197:                                            ; preds = %bb192, %bb186799  br i1 %arg, label %bb198, label %bb215800 801bb198:                                            ; preds = %bb197802  br i1 %arg, label %bb202, label %bb199803 804bb199:                                            ; preds = %bb198805  br i1 %arg, label %bb201, label %bb30806 807bb201:                                            ; preds = %bb199808  br label %bb202809 810bb202:                                            ; preds = %bb201, %bb198811  br i1 %arg, label %bb206, label %bb203812 813bb203:                                            ; preds = %bb202814  br i1 %arg, label %bb205, label %bb30815 816bb205:                                            ; preds = %bb203817  br label %bb206818 819bb206:                                            ; preds = %bb205, %bb202820  br i1 %arg, label %bb210, label %bb207821 822bb207:                                            ; preds = %bb206823  br i1 %arg, label %bb209, label %bb30824 825bb209:                                            ; preds = %bb207826  br label %bb210827 828bb210:                                            ; preds = %bb209, %bb206829  br i1 %arg, label %bb212, label %bb30830 831bb212:                                            ; preds = %bb210832  unreachable833 834bb213:                                            ; preds = %bb193, %bb30835  resume { ptr, i32 } undef836 837bb214:                                            ; preds = %bb42838  br label %bb219839 840bb215:                                            ; preds = %bb197, %bb173, %bb170, %bb141841  br i1 %arg, label %bb217, label %bb216842 843bb216:                                            ; preds = %bb215844  br label %bb217845 846bb217:                                            ; preds = %bb216, %bb215847  br i1 %arg, label %bb219, label %bb218848 849bb218:                                            ; preds = %bb217850  br label %bb219851 852bb219:                                            ; preds = %bb218, %bb217, %bb214853  br i1 %arg, label %bb221, label %bb220854 855bb220:                                            ; preds = %bb219856  unreachable857 858bb221:                                            ; preds = %bb219859  unreachable860 861bb222:                                            ; preds = %bb20, %bb19862  ret void863}864 865; Function Attrs: ssp866define void @test3(i1 %arg) #1 personality ptr @__gxx_personality_sj0 {867entry:868  %call2 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)869          to label %invoke.cont unwind label %lpad870 871invoke.cont:                                      ; preds = %entry872  %call5 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef)873          to label %invoke.cont4 unwind label %lpad3874 875invoke.cont4:                                     ; preds = %invoke.cont876  br i1 %arg, label %land.end, label %land.rhs877 878land.rhs:                                         ; preds = %invoke.cont4879  %call7 = invoke i32 @objc_msgSend(ptr undef, ptr undef)880          to label %land.end unwind label %lpad3881 882land.end:                                         ; preds = %land.rhs, %invoke.cont4883  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)884          to label %invoke.cont.i unwind label %lpad.i885 886invoke.cont.i:                                    ; preds = %land.end887  br i1 %arg, label %invoke.cont8, label %if.then.i888 889if.then.i:                                        ; preds = %invoke.cont.i890  br label %invoke.cont8891 892lpad.i:                                           ; preds = %land.end893  %tmp13 = landingpad { ptr, i32 }894          cleanup895  unreachable896 897invoke.cont8:                                     ; preds = %if.then.i, %invoke.cont.i898  %call18 = invoke ptr (ptr, ptr, ptr, ...) @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring, ptr undef)899          to label %invoke.cont17 unwind label %lpad16900 901invoke.cont17:                                    ; preds = %invoke.cont8902  %call22 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)903          to label %invoke.cont21 unwind label %lpad20904 905invoke.cont21:                                    ; preds = %invoke.cont17906  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)907          to label %invoke.cont.i1980 unwind label %lpad.i1982908 909invoke.cont.i1980:                                ; preds = %invoke.cont21910  br i1 %arg, label %invoke.cont24, label %if.then.i1981911 912if.then.i1981:                                    ; preds = %invoke.cont.i1980913  br label %invoke.cont24914 915lpad.i1982:                                       ; preds = %invoke.cont21916  %tmp28 = landingpad { ptr, i32 }917          cleanup918  unreachable919 920invoke.cont24:                                    ; preds = %if.then.i1981, %invoke.cont.i1980921  %call37 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef)922          to label %invoke.cont36 unwind label %lpad35923 924invoke.cont36:                                    ; preds = %invoke.cont24925  br i1 %arg, label %land.end43, label %land.rhs39926 927land.rhs39:                                       ; preds = %invoke.cont36928  %call41 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)929          to label %land.end43 unwind label %lpad35930 931land.end43:                                       ; preds = %land.rhs39, %invoke.cont36932  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)933          to label %invoke.cont.i1986 unwind label %lpad.i1988934 935invoke.cont.i1986:                                ; preds = %land.end43936  br i1 %arg, label %invoke.cont44, label %if.then.i1987937 938if.then.i1987:                                    ; preds = %invoke.cont.i1986939  br label %invoke.cont44940 941lpad.i1988:                                       ; preds = %land.end43942  %tmp42 = landingpad { ptr, i32 }943          cleanup944  unreachable945 946invoke.cont44:                                    ; preds = %if.then.i1987, %invoke.cont.i1986947  %call53 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)948          to label %invoke.cont52 unwind label %lpad51949 950invoke.cont52:                                    ; preds = %invoke.cont44951  br i1 %arg, label %land.end70, label %land.rhs58952 953land.rhs58:                                       ; preds = %invoke.cont52954  %call63 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 42)955          to label %invoke.cont62 unwind label %lpad61956 957invoke.cont62:                                    ; preds = %land.rhs58958  %call68 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef, ptr undef)959          to label %land.end70 unwind label %lpad66.body.thread960 961land.end70:                                       ; preds = %invoke.cont62, %invoke.cont52962  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)963          to label %invoke.cont.i1992 unwind label %lpad66.body964 965invoke.cont.i1992:                                ; preds = %land.end70966  br i1 %arg, label %invoke.cont71, label %if.then.i1993967 968if.then.i1993:                                    ; preds = %invoke.cont.i1992969  br label %invoke.cont71970 971invoke.cont71:                                    ; preds = %if.then.i1993, %invoke.cont.i1992972  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)973          to label %invoke.cont.i1998 unwind label %lpad.i2000974 975invoke.cont.i1998:                                ; preds = %invoke.cont71976  br i1 %arg, label %invoke.cont91, label %if.then.i1999977 978if.then.i1999:                                    ; preds = %invoke.cont.i1998979  br label %invoke.cont91980 981lpad.i2000:                                       ; preds = %invoke.cont71982  %tmp74 = landingpad { ptr, i32 }983          cleanup984  br label %ehcleanup102985 986invoke.cont91:                                    ; preds = %if.then.i1999, %invoke.cont.i1998987  %call96 = invoke ptr @objc_msgSend(ptr undef, ptr undef)988          to label %invoke.cont95 unwind label %lpad94989 990invoke.cont95:                                    ; preds = %invoke.cont91991  %call98 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef, ptr %call96)992          to label %invoke.cont97 unwind label %lpad94993 994invoke.cont97:                                    ; preds = %invoke.cont95995  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)996          to label %invoke.cont.i2004 unwind label %lpad.i2006997 998invoke.cont.i2004:                                ; preds = %invoke.cont97999  br i1 %arg, label %invoke.cont100, label %if.then.i20051000 1001if.then.i2005:                                    ; preds = %invoke.cont.i20041002  br label %invoke.cont1001003 1004lpad.i2006:                                       ; preds = %invoke.cont971005  %tmp82 = landingpad { ptr, i32 }1006          cleanup1007  unreachable1008 1009invoke.cont100:                                   ; preds = %if.then.i2005, %invoke.cont.i20041010  invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, ptr @_unnamed_cfstring)1011          to label %invoke.cont110 unwind label %lpad1091012 1013invoke.cont110:                                   ; preds = %invoke.cont1001014  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1015          to label %invoke.cont.i2010 unwind label %lpad.i20121016 1017invoke.cont.i2010:                                ; preds = %invoke.cont1101018  br i1 %arg, label %invoke.cont117, label %if.then.i20111019 1020if.then.i2011:                                    ; preds = %invoke.cont.i20101021  br label %invoke.cont1171022 1023lpad.i2012:                                       ; preds = %invoke.cont1101024  %tmp98 = landingpad { ptr, i32 }1025          cleanup1026  unreachable1027 1028invoke.cont117:                                   ; preds = %if.then.i2011, %invoke.cont.i20101029  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1030          to label %invoke.cont.i2022 unwind label %lpad156.body1031 1032lpad:                                             ; preds = %entry1033  %tmp118 = landingpad { ptr, i32 }1034          cleanup1035  br label %ehcleanup1036 1037lpad3:                                            ; preds = %land.rhs, %invoke.cont1038  %tmp119 = landingpad { ptr, i32 }1039          cleanup1040  br label %ehcleanup1041 1042ehcleanup:                                        ; preds = %lpad3, %lpad1043  unreachable1044 1045lpad16:                                           ; preds = %invoke.cont81046  %tmp121 = landingpad { ptr, i32 }1047          cleanup1048  br label %ehcleanup261049 1050lpad20:                                           ; preds = %invoke.cont171051  %tmp122 = landingpad { ptr, i32 }1052          cleanup1053  br label %ehcleanup261054 1055ehcleanup26:                                      ; preds = %lpad20, %lpad161056  unreachable1057 1058lpad35:                                           ; preds = %land.rhs39, %invoke.cont241059  %tmp124 = landingpad { ptr, i32 }1060          cleanup1061  unreachable1062 1063lpad51:                                           ; preds = %invoke.cont441064  %tmp125 = landingpad { ptr, i32 }1065          cleanup1066  unreachable1067 1068lpad61:                                           ; preds = %land.rhs581069  %tmp127 = landingpad { ptr, i32 }1070          cleanup1071  unreachable1072 1073lpad66.body.thread:                               ; preds = %invoke.cont621074  %tmp128 = landingpad { ptr, i32 }1075          cleanup1076  unreachable1077 1078lpad66.body:                                      ; preds = %land.end701079  %tmp129 = landingpad { ptr, i32 }1080          cleanup1081  unreachable1082 1083lpad94:                                           ; preds = %invoke.cont95, %invoke.cont911084  %tmp133 = landingpad { ptr, i32 }1085          cleanup1086  br label %ehcleanup1021087 1088ehcleanup102:                                     ; preds = %lpad94, %lpad.i20001089  unreachable1090 1091lpad109:                                          ; preds = %invoke.cont1001092  %tmp134 = landingpad { ptr, i32 }1093          cleanup1094  unreachable1095 1096invoke.cont.i2022:                                ; preds = %invoke.cont1171097  br i1 %arg, label %invoke.cont157, label %if.then.i20231098 1099if.then.i2023:                                    ; preds = %invoke.cont.i20221100  br label %invoke.cont1571101 1102invoke.cont157:                                   ; preds = %if.then.i2023, %invoke.cont.i20221103  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1104          to label %invoke.cont.i2028 unwind label %lpad164.body1105 1106invoke.cont.i2028:                                ; preds = %invoke.cont1571107  br i1 %arg, label %invoke.cont165, label %if.then.i20291108 1109if.then.i2029:                                    ; preds = %invoke.cont.i20281110  br label %invoke.cont1651111 1112invoke.cont165:                                   ; preds = %if.then.i2029, %invoke.cont.i20281113  invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef)1114          to label %invoke.cont184 unwind label %lpad1831115 1116invoke.cont184:                                   ; preds = %invoke.cont1651117  %call186 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)1118          to label %invoke.cont185 unwind label %lpad1831119 1120invoke.cont185:                                   ; preds = %invoke.cont1841121  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1122          to label %invoke.cont.i2034 unwind label %lpad.i20361123 1124invoke.cont.i2034:                                ; preds = %invoke.cont1851125  br i1 %arg, label %invoke.cont190, label %if.then.i20351126 1127if.then.i2035:                                    ; preds = %invoke.cont.i20341128  br label %invoke.cont1901129 1130lpad.i2036:                                       ; preds = %invoke.cont1851131  %tmp168 = landingpad { ptr, i32 }1132          cleanup1133  br label %lpad183.body1134 1135invoke.cont190:                                   ; preds = %if.then.i2035, %invoke.cont.i20341136  invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, ptr @_unnamed_cfstring)1137          to label %invoke.cont197 unwind label %lpad1961138 1139invoke.cont197:                                   ; preds = %invoke.cont1901140  %call202 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)1141          to label %invoke.cont201 unwind label %lpad2001142 1143invoke.cont201:                                   ; preds = %invoke.cont1971144  %call205 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)1145          to label %invoke.cont204 unwind label %lpad2031146 1147invoke.cont204:                                   ; preds = %invoke.cont2011148  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1149          to label %invoke.cont.i2040 unwind label %lpad.i20421150 1151invoke.cont.i2040:                                ; preds = %invoke.cont2041152  br i1 %arg, label %invoke.cont207, label %if.then.i20411153 1154if.then.i2041:                                    ; preds = %invoke.cont.i20401155  br label %invoke.cont2071156 1157lpad.i2042:                                       ; preds = %invoke.cont2041158  %tmp181 = landingpad { ptr, i32 }1159          cleanup1160  unreachable1161 1162invoke.cont207:                                   ; preds = %if.then.i2041, %invoke.cont.i20401163  %call209 = invoke ptr @objc_msgSend(ptr undef, ptr undef)1164          to label %invoke.cont208 unwind label %lpad2031165 1166invoke.cont208:                                   ; preds = %invoke.cont2071167  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1168          to label %invoke.cont.i2046 unwind label %lpad212.body1169 1170invoke.cont.i2046:                                ; preds = %invoke.cont2081171  br i1 %arg, label %invoke.cont213, label %if.then.i20471172 1173if.then.i2047:                                    ; preds = %invoke.cont.i20461174  br label %invoke.cont2131175 1176invoke.cont213:                                   ; preds = %if.then.i2047, %invoke.cont.i20461177  invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, ptr @_unnamed_cfstring)1178          to label %invoke.cont221 unwind label %lpad2201179 1180invoke.cont221:                                   ; preds = %invoke.cont2131181  %call229 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)1182          to label %invoke.cont228 unwind label %lpad2271183 1184invoke.cont228:                                   ; preds = %invoke.cont2211185  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1186          to label %invoke.cont.i2052 unwind label %lpad.i20541187 1188invoke.cont.i2052:                                ; preds = %invoke.cont2281189  br i1 %arg, label %invoke.cont231, label %if.then.i20531190 1191if.then.i2053:                                    ; preds = %invoke.cont.i20521192  br label %invoke.cont2311193 1194lpad.i2054:                                       ; preds = %invoke.cont2281195  %tmp198 = landingpad { ptr, i32 }1196          cleanup1197  unreachable1198 1199invoke.cont231:                                   ; preds = %if.then.i2053, %invoke.cont.i20521200  %call233 = invoke ptr @objc_msgSend(ptr undef, ptr undef)1201          to label %invoke.cont232 unwind label %lpad2271202 1203invoke.cont232:                                   ; preds = %invoke.cont2311204  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1205          to label %invoke.cont.i2058 unwind label %lpad236.body1206 1207invoke.cont.i2058:                                ; preds = %invoke.cont2321208  br i1 %arg, label %invoke.cont237, label %if.then.i20591209 1210if.then.i2059:                                    ; preds = %invoke.cont.i20581211  br label %invoke.cont2371212 1213invoke.cont237:                                   ; preds = %if.then.i2059, %invoke.cont.i20581214  %call246 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)1215          to label %invoke.cont245 unwind label %lpad2441216 1217invoke.cont245:                                   ; preds = %invoke.cont2371218  %call248 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 13)1219          to label %invoke.cont247 unwind label %lpad2441220 1221invoke.cont247:                                   ; preds = %invoke.cont2451222  %call251 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 2)1223          to label %invoke.cont250 unwind label %lpad2491224 1225invoke.cont250:                                   ; preds = %invoke.cont2471226  %call254 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 7)1227          to label %invoke.cont253 unwind label %lpad2521228 1229invoke.cont253:                                   ; preds = %invoke.cont2501230  %call257 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr undef, i32 3)1231          to label %invoke.cont256 unwind label %lpad2551232 1233invoke.cont256:                                   ; preds = %invoke.cont2531234  %call260 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr undef, ptr undef)1235          to label %invoke.cont259 unwind label %lpad2581236 1237invoke.cont259:                                   ; preds = %invoke.cont2561238  %call267 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)1239          to label %invoke.cont266 unwind label %lpad2651240 1241invoke.cont266:                                   ; preds = %invoke.cont2591242  %call275 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr undef)1243          to label %invoke.cont274 unwind label %lpad2731244 1245invoke.cont274:                                   ; preds = %invoke.cont2661246  %call279 = invoke i32 @objc_msgSend(ptr undef, ptr undef)1247          to label %invoke.cont278 unwind label %lpad2771248 1249invoke.cont278:                                   ; preds = %invoke.cont2741250  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1251          to label %invoke.cont.i2064 unwind label %lpad.i20661252 1253invoke.cont.i2064:                                ; preds = %invoke.cont2781254  br i1 %arg, label %invoke.cont281, label %if.then.i20651255 1256if.then.i2065:                                    ; preds = %invoke.cont.i20641257  br label %invoke.cont2811258 1259lpad.i2066:                                       ; preds = %invoke.cont2781260  %tmp253 = landingpad { ptr, i32 }1261          cleanup1262  unreachable1263 1264invoke.cont281:                                   ; preds = %if.then.i2065, %invoke.cont.i20641265  %call291 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)1266          to label %invoke.cont290 unwind label %lpad2891267 1268invoke.cont290:                                   ; preds = %invoke.cont2811269  %call303 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 8)1270          to label %invoke.cont302 unwind label %lpad3011271 1272invoke.cont302:                                   ; preds = %invoke.cont2901273  %call310 = invoke ptr @objc_msgSend(ptr undef, ptr undef, double 5.000000e-01)1274          to label %invoke.cont309 unwind label %lpad3081275 1276invoke.cont309:                                   ; preds = %invoke.cont3021277  %call313 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 42)1278          to label %invoke.cont312 unwind label %lpad3111279 1280invoke.cont312:                                   ; preds = %invoke.cont3091281  %call316 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr undef, ptr undef, i32 2)1282          to label %invoke.cont315 unwind label %lpad3141283 1284invoke.cont315:                                   ; preds = %invoke.cont3121285  %call322 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr undef)1286          to label %invoke.cont321 unwind label %lpad3201287 1288invoke.cont321:                                   ; preds = %invoke.cont3151289  br i1 %arg, label %land.end344, label %land.rhs3351290 1291land.rhs335:                                      ; preds = %invoke.cont3211292  %call342 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)1293          to label %land.end344 unwind label %lpad340.body.thread1294 1295land.end344:                                      ; preds = %land.rhs335, %invoke.cont3211296  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1297          to label %invoke.cont.i2070 unwind label %lpad340.body1298 1299invoke.cont.i2070:                                ; preds = %land.end3441300  br i1 %arg, label %invoke.cont345, label %if.then.i20711301 1302if.then.i2071:                                    ; preds = %invoke.cont.i20701303  br label %invoke.cont3451304 1305invoke.cont345:                                   ; preds = %if.then.i2071, %invoke.cont.i20701306  %call362 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr undef)1307          to label %invoke.cont361 unwind label %lpad3601308 1309invoke.cont361:                                   ; preds = %invoke.cont3451310  %call365 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)1311          to label %invoke.cont364 unwind label %lpad3631312 1313invoke.cont364:                                   ; preds = %invoke.cont3611314  %call371 = invoke i32 @objc_msgSend(ptr undef, ptr undef)1315          to label %invoke.cont370 unwind label %lpad3691316 1317invoke.cont370:                                   ; preds = %invoke.cont3641318  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1319          to label %invoke.cont.i2076 unwind label %lpad.i20781320 1321invoke.cont.i2076:                                ; preds = %invoke.cont3701322  br i1 %arg, label %invoke.cont373, label %if.then.i20771323 1324if.then.i2077:                                    ; preds = %invoke.cont.i20761325  br label %invoke.cont3731326 1327lpad.i2078:                                       ; preds = %invoke.cont3701328  %tmp340 = landingpad { ptr, i32 }1329          cleanup1330  unreachable1331 1332invoke.cont373:                                   ; preds = %if.then.i2077, %invoke.cont.i20761333  %call377 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 42, ptr undef)1334          to label %invoke.cont376 unwind label %lpad3631335 1336invoke.cont376:                                   ; preds = %invoke.cont3731337  invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, i32 5)1338          to label %invoke.cont382 unwind label %lpad3811339 1340invoke.cont382:                                   ; preds = %invoke.cont3761341  %call384 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)1342          to label %invoke.cont383 unwind label %lpad3811343 1344invoke.cont383:                                   ; preds = %invoke.cont3821345  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1346          to label %invoke.cont.i2082 unwind label %lpad.i20841347 1348invoke.cont.i2082:                                ; preds = %invoke.cont3831349  br i1 %arg, label %invoke.cont392, label %if.then.i20831350 1351if.then.i2083:                                    ; preds = %invoke.cont.i20821352  br label %invoke.cont3921353 1354lpad.i2084:                                       ; preds = %invoke.cont3831355  %tmp360 = landingpad { ptr, i32 }1356          cleanup1357  unreachable1358 1359invoke.cont392:                                   ; preds = %if.then.i2083, %invoke.cont.i20821360  invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, i32 -2)1361          to label %invoke.cont395 unwind label %lpad3811362 1363invoke.cont395:                                   ; preds = %invoke.cont3921364  %call397 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)1365          to label %invoke.cont396 unwind label %lpad3811366 1367invoke.cont396:                                   ; preds = %invoke.cont3951368  %call400 = invoke ptr @objc_msgSend(ptr undef, ptr undef)1369          to label %invoke.cont399 unwind label %lpad3981370 1371invoke.cont399:                                   ; preds = %invoke.cont3961372  %call403 = invoke i32 @objc_msgSend(ptr undef, ptr undef)1373          to label %invoke.cont402 unwind label %lpad4011374 1375invoke.cont402:                                   ; preds = %invoke.cont3991376  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1377          to label %invoke.cont.i2088 unwind label %lpad.i20901378 1379invoke.cont.i2088:                                ; preds = %invoke.cont4021380  br i1 %arg, label %invoke.cont405, label %if.then.i20891381 1382if.then.i2089:                                    ; preds = %invoke.cont.i20881383  br label %invoke.cont4051384 1385lpad.i2090:                                       ; preds = %invoke.cont4021386  %tmp370 = landingpad { ptr, i32 }1387          cleanup1388  unreachable1389 1390invoke.cont405:                                   ; preds = %if.then.i2089, %invoke.cont.i20881391  invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, i32 -1)1392          to label %invoke.cont408 unwind label %lpad3811393 1394invoke.cont408:                                   ; preds = %invoke.cont4051395  %call410 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)1396          to label %invoke.cont409 unwind label %lpad3811397 1398invoke.cont409:                                   ; preds = %invoke.cont4081399  %call413 = invoke ptr @objc_msgSend(ptr undef, ptr undef)1400          to label %invoke.cont412 unwind label %lpad4111401 1402invoke.cont412:                                   ; preds = %invoke.cont4091403  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1404          to label %invoke.cont.i2094 unwind label %lpad.i20961405 1406invoke.cont.i2094:                                ; preds = %invoke.cont4121407  br i1 %arg, label %invoke.cont418, label %if.then.i20951408 1409if.then.i2095:                                    ; preds = %invoke.cont.i20941410  br label %invoke.cont4181411 1412lpad.i2096:                                       ; preds = %invoke.cont4121413  %tmp380 = landingpad { ptr, i32 }1414          cleanup1415  unreachable1416 1417invoke.cont418:                                   ; preds = %if.then.i2095, %invoke.cont.i20941418  invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, i32 0)1419          to label %invoke.cont422 unwind label %lpad3811420 1421invoke.cont422:                                   ; preds = %invoke.cont4181422  %call424 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)1423          to label %invoke.cont423 unwind label %lpad3811424 1425invoke.cont423:                                   ; preds = %invoke.cont4221426  %call427 = invoke ptr @objc_msgSend(ptr undef, ptr undef)1427          to label %invoke.cont426 unwind label %lpad4251428 1429invoke.cont426:                                   ; preds = %invoke.cont4231430  %call430 = invoke i32 @objc_msgSend(ptr undef, ptr undef)1431          to label %invoke.cont429 unwind label %lpad4281432 1433invoke.cont429:                                   ; preds = %invoke.cont4261434  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1435          to label %invoke.cont.i2100 unwind label %lpad.i21021436 1437invoke.cont.i2100:                                ; preds = %invoke.cont4291438  br i1 %arg, label %invoke.cont432, label %if.then.i21011439 1440if.then.i2101:                                    ; preds = %invoke.cont.i21001441  br label %invoke.cont4321442 1443lpad.i2102:                                       ; preds = %invoke.cont4291444  %tmp390 = landingpad { ptr, i32 }1445          cleanup1446  unreachable1447 1448invoke.cont432:                                   ; preds = %if.then.i2101, %invoke.cont.i21001449  %call436 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 0)1450          to label %invoke.cont435 unwind label %lpad3811451 1452invoke.cont435:                                   ; preds = %invoke.cont4321453  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1454          to label %invoke.cont.i2106 unwind label %lpad.i21081455 1456invoke.cont.i2106:                                ; preds = %invoke.cont4351457  %call444 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 5)1458          to label %invoke.cont443 unwind label %lpad3811459 1460lpad.i2108:                                       ; preds = %invoke.cont4351461  %tmp396 = landingpad { ptr, i32 }1462          cleanup1463  unreachable1464 1465invoke.cont443:                                   ; preds = %invoke.cont.i21061466  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1467          to label %invoke.cont.i2112 unwind label %lpad.i21141468 1469invoke.cont.i2112:                                ; preds = %invoke.cont4431470  br i1 %arg, label %invoke.cont449, label %if.then.i21131471 1472if.then.i2113:                                    ; preds = %invoke.cont.i21121473  br label %invoke.cont4491474 1475lpad.i2114:                                       ; preds = %invoke.cont4431476  %tmp402 = landingpad { ptr, i32 }1477          cleanup1478  unreachable1479 1480invoke.cont449:                                   ; preds = %if.then.i2113, %invoke.cont.i21121481  %call453 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 -2)1482          to label %invoke.cont452 unwind label %lpad3811483 1484invoke.cont452:                                   ; preds = %invoke.cont4491485  %call456 = invoke i32 @objc_msgSend(ptr undef, ptr undef)1486          to label %invoke.cont455 unwind label %lpad4541487 1488invoke.cont455:                                   ; preds = %invoke.cont4521489  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1490          to label %invoke.cont.i2118 unwind label %lpad.i21201491 1492invoke.cont.i2118:                                ; preds = %invoke.cont4551493  br i1 %arg, label %invoke.cont458, label %if.then.i21191494 1495if.then.i2119:                                    ; preds = %invoke.cont.i21181496  br label %invoke.cont4581497 1498lpad.i2120:                                       ; preds = %invoke.cont4551499  %tmp408 = landingpad { ptr, i32 }1500          cleanup1501  unreachable1502 1503invoke.cont458:                                   ; preds = %if.then.i2119, %invoke.cont.i21181504  %call461 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 -1)1505          to label %invoke.cont460 unwind label %lpad3811506 1507invoke.cont460:                                   ; preds = %invoke.cont4581508  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1509          to label %invoke.cont.i2124 unwind label %lpad.i21261510 1511invoke.cont.i2124:                                ; preds = %invoke.cont4601512  br i1 %arg, label %invoke.cont466, label %if.then.i21251513 1514if.then.i2125:                                    ; preds = %invoke.cont.i21241515  br label %invoke.cont4661516 1517lpad.i2126:                                       ; preds = %invoke.cont4601518  %tmp414 = landingpad { ptr, i32 }1519          cleanup1520  br label %ehcleanup4771521 1522invoke.cont466:                                   ; preds = %if.then.i2125, %invoke.cont.i21241523  %call470 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 0)1524          to label %invoke.cont469 unwind label %lpad3811525 1526invoke.cont469:                                   ; preds = %invoke.cont4661527  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1528          to label %invoke.cont.i2130 unwind label %lpad.i21321529 1530invoke.cont.i2130:                                ; preds = %invoke.cont4691531  br i1 %arg, label %invoke.cont475, label %if.then.i21311532 1533if.then.i2131:                                    ; preds = %invoke.cont.i21301534  br label %invoke.cont4751535 1536lpad.i2132:                                       ; preds = %invoke.cont4691537  %tmp420 = landingpad { ptr, i32 }1538          cleanup1539  br label %ehcleanup4771540 1541invoke.cont475:                                   ; preds = %if.then.i2131, %invoke.cont.i21301542  %call491 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 1)1543          to label %invoke.cont490 unwind label %lpad4891544 1545invoke.cont490:                                   ; preds = %invoke.cont4751546  invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, ptr @_unnamed_cfstring)1547          to label %invoke.cont499 unwind label %lpad4981548 1549invoke.cont499:                                   ; preds = %invoke.cont4901550  %call504 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)1551          to label %invoke.cont503 unwind label %lpad4891552 1553invoke.cont503:                                   ; preds = %invoke.cont4991554  %call507 = invoke ptr @objc_msgSend(ptr undef, ptr undef, i32 3)1555          to label %invoke.cont506 unwind label %lpad5051556 1557invoke.cont506:                                   ; preds = %invoke.cont5031558  invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, ptr @_unnamed_cfstring)1559          to label %invoke.cont509 unwind label %lpad5081560 1561invoke.cont509:                                   ; preds = %invoke.cont5061562  %call513 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)1563          to label %invoke.cont512 unwind label %lpad4891564 1565invoke.cont512:                                   ; preds = %invoke.cont5091566  br i1 %arg, label %msgSend.null-receiver, label %msgSend.call1567 1568msgSend.call:                                     ; preds = %invoke.cont5121569  invoke void @objc_msgSend_stret(ptr sret(%struct.CGPoint) undef, ptr undef, ptr undef)1570          to label %msgSend.cont unwind label %lpad5141571 1572msgSend.null-receiver:                            ; preds = %invoke.cont5121573  br label %msgSend.cont1574 1575msgSend.cont:                                     ; preds = %msgSend.null-receiver, %msgSend.call1576  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1577          to label %invoke.cont.i2136 unwind label %lpad.i21381578 1579invoke.cont.i2136:                                ; preds = %msgSend.cont1580  br i1 %arg, label %invoke.cont521, label %if.then.i21371581 1582if.then.i2137:                                    ; preds = %invoke.cont.i21361583  br label %invoke.cont5211584 1585lpad.i2138:                                       ; preds = %msgSend.cont1586  %tmp468 = landingpad { ptr, i32 }1587          cleanup1588  unreachable1589 1590invoke.cont521:                                   ; preds = %if.then.i2137, %invoke.cont.i21361591  invoke void @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring, ptr undef)1592          to label %invoke.cont528 unwind label %lpad5271593 1594invoke.cont528:                                   ; preds = %invoke.cont5211595  %call532 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)1596          to label %invoke.cont531 unwind label %lpad4891597 1598invoke.cont531:                                   ; preds = %invoke.cont5281599  %call535 = invoke ptr @objc_msgSend(ptr undef, ptr undef)1600          to label %invoke.cont534 unwind label %lpad5331601 1602invoke.cont534:                                   ; preds = %invoke.cont5311603  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr undef, ptr @_unnamed_cfstring)1604          to label %invoke.cont.i2142 unwind label %lpad.i21441605 1606invoke.cont.i2142:                                ; preds = %invoke.cont5341607  br i1 %arg, label %invoke.cont540, label %if.then.i21431608 1609if.then.i2143:                                    ; preds = %invoke.cont.i21421610  br label %invoke.cont5401611 1612lpad.i2144:                                       ; preds = %invoke.cont5341613  %tmp486 = landingpad { ptr, i32 }1614          cleanup1615  unreachable1616 1617invoke.cont540:                                   ; preds = %if.then.i2143, %invoke.cont.i21421618  %call544 = invoke ptr @objc_msgSend(ptr @_unnamed_cfstring, ptr undef, i32 3)1619          to label %invoke.cont543 unwind label %lpad4891620 1621invoke.cont543:                                   ; preds = %invoke.cont5401622  invoke void @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring, ptr undef)1623          to label %invoke.cont546 unwind label %lpad5451624 1625invoke.cont546:                                   ; preds = %invoke.cont5431626  %call549 = invoke ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)1627          to label %invoke.cont548 unwind label %lpad4891628 1629invoke.cont548:                                   ; preds = %invoke.cont5461630  %call555 = invoke signext i8 @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring)1631          to label %invoke.cont554 unwind label %lpad5531632 1633invoke.cont554:                                   ; preds = %invoke.cont5481634  %tmp499 = call ptr @llvm.objc.retain(ptr @_unnamed_cfstring) #31635  invoke void (ptr, ...) @NSLog(ptr @_unnamed_cfstring, ptr %tmp499, ptr @_unnamed_cfstring)1636          to label %invoke.cont.i2148 unwind label %lpad.i21501637 1638invoke.cont.i2148:                                ; preds = %invoke.cont5541639  call void @llvm.objc.release(ptr %tmp499) #3, !clang.imprecise_release !01640  invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, ptr @_unnamed_cfstring)1641          to label %invoke.cont566 unwind label %lpad5651642 1643lpad.i2150:                                       ; preds = %invoke.cont5541644  %tmp500 = landingpad { ptr, i32 }1645          cleanup1646  call void @llvm.objc.release(ptr %tmp499) #3, !clang.imprecise_release !01647  unreachable1648 1649invoke.cont566:                                   ; preds = %invoke.cont.i21481650  invoke void @objc_msgSend(ptr undef, ptr undef, ptr undef, ptr @_unnamed_cfstring)1651          to label %invoke.cont572 unwind label %lpad5711652 1653invoke.cont572:                                   ; preds = %invoke.cont5661654  %call582 = invoke ptr @objc_msgSend(ptr undef, ptr undef)1655          to label %invoke.cont581 unwind label %lpad5801656 1657invoke.cont581:                                   ; preds = %invoke.cont5721658  unreachable1659 1660lpad156.body:                                     ; preds = %invoke.cont1171661  %tmp1157 = landingpad { ptr, i32 }1662          cleanup1663  unreachable1664 1665lpad164.body:                                     ; preds = %invoke.cont1571666  %tmp1158 = landingpad { ptr, i32 }1667          cleanup1668  unreachable1669 1670lpad183:                                          ; preds = %invoke.cont184, %invoke.cont1651671  %tmp1159 = landingpad { ptr, i32 }1672          cleanup1673  br label %lpad183.body1674 1675lpad183.body:                                     ; preds = %lpad183, %lpad.i20361676  unreachable1677 1678lpad196:                                          ; preds = %invoke.cont1901679  %tmp1160 = landingpad { ptr, i32 }1680          cleanup1681  unreachable1682 1683lpad200:                                          ; preds = %invoke.cont1971684  %tmp1161 = landingpad { ptr, i32 }1685          cleanup1686  unreachable1687 1688lpad203:                                          ; preds = %invoke.cont207, %invoke.cont2011689  %tmp1162 = landingpad { ptr, i32 }1690          cleanup1691  unreachable1692 1693lpad212.body:                                     ; preds = %invoke.cont2081694  %tmp1163 = landingpad { ptr, i32 }1695          cleanup1696  unreachable1697 1698lpad220:                                          ; preds = %invoke.cont2131699  %tmp1164 = landingpad { ptr, i32 }1700          cleanup1701  br label %eh.resume1702 1703lpad227:                                          ; preds = %invoke.cont231, %invoke.cont2211704  %tmp1166 = landingpad { ptr, i32 }1705          cleanup1706  br label %ehcleanup2391707 1708lpad236.body:                                     ; preds = %invoke.cont2321709  %tmp1167 = landingpad { ptr, i32 }1710          cleanup1711  br label %ehcleanup2391712 1713ehcleanup239:                                     ; preds = %lpad236.body, %lpad2271714  unreachable1715 1716lpad244:                                          ; preds = %invoke.cont245, %invoke.cont2371717  %tmp1168 = landingpad { ptr, i32 }1718          cleanup1719  unreachable1720 1721lpad249:                                          ; preds = %invoke.cont2471722  %tmp1169 = landingpad { ptr, i32 }1723          cleanup1724  unreachable1725 1726lpad252:                                          ; preds = %invoke.cont2501727  %tmp1170 = landingpad { ptr, i32 }1728          cleanup1729  br label %ehcleanup2631730 1731lpad255:                                          ; preds = %invoke.cont2531732  %tmp1171 = landingpad { ptr, i32 }1733          cleanup1734  br label %ehcleanup2631735 1736lpad258:                                          ; preds = %invoke.cont2561737  %tmp1172 = landingpad { ptr, i32 }1738          cleanup1739  unreachable1740 1741ehcleanup263:                                     ; preds = %lpad255, %lpad2521742  unreachable1743 1744lpad265:                                          ; preds = %invoke.cont2591745  %tmp1173 = landingpad { ptr, i32 }1746          cleanup1747  unreachable1748 1749lpad273:                                          ; preds = %invoke.cont2661750  %tmp1175 = landingpad { ptr, i32 }1751          cleanup1752  unreachable1753 1754lpad277:                                          ; preds = %invoke.cont2741755  %tmp1176 = landingpad { ptr, i32 }1756          cleanup1757  unreachable1758 1759lpad289:                                          ; preds = %invoke.cont2811760  %tmp1177 = landingpad { ptr, i32 }1761          cleanup1762  unreachable1763 1764lpad301:                                          ; preds = %invoke.cont2901765  %tmp1180 = landingpad { ptr, i32 }1766          cleanup1767  unreachable1768 1769lpad308:                                          ; preds = %invoke.cont3021770  %tmp1182 = landingpad { ptr, i32 }1771          cleanup1772  unreachable1773 1774lpad311:                                          ; preds = %invoke.cont3091775  %tmp1183 = landingpad { ptr, i32 }1776          cleanup1777  unreachable1778 1779lpad314:                                          ; preds = %invoke.cont3121780  %tmp1184 = landingpad { ptr, i32 }1781          cleanup1782  unreachable1783 1784lpad320:                                          ; preds = %invoke.cont3151785  %tmp1186 = landingpad { ptr, i32 }1786          cleanup1787  unreachable1788 1789lpad340.body.thread:                              ; preds = %land.rhs3351790  %tmp1188 = landingpad { ptr, i32 }1791          cleanup1792  unreachable1793 1794lpad340.body:                                     ; preds = %land.end3441795  %tmp1189 = landingpad { ptr, i32 }1796          cleanup1797  unreachable1798 1799lpad360:                                          ; preds = %invoke.cont3451800  %tmp1191 = landingpad { ptr, i32 }1801          cleanup1802  br label %eh.resume1803 1804lpad363:                                          ; preds = %invoke.cont373, %invoke.cont3611805  %tmp1192 = landingpad { ptr, i32 }1806          cleanup1807  unreachable1808 1809lpad369:                                          ; preds = %invoke.cont3641810  %tmp1194 = landingpad { ptr, i32 }1811          cleanup1812  unreachable1813 1814lpad381:                                          ; 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.cont3761815  %tmp1196 = landingpad { ptr, i32 }1816          cleanup1817  br label %ehcleanup4771818 1819lpad398:                                          ; preds = %invoke.cont3961820  %tmp1199 = landingpad { ptr, i32 }1821          cleanup1822  unreachable1823 1824lpad401:                                          ; preds = %invoke.cont3991825  %tmp1200 = landingpad { ptr, i32 }1826          cleanup1827  unreachable1828 1829lpad411:                                          ; preds = %invoke.cont4091830  %tmp1201 = landingpad { ptr, i32 }1831          cleanup1832  unreachable1833 1834lpad425:                                          ; preds = %invoke.cont4231835  %tmp1203 = landingpad { ptr, i32 }1836          cleanup1837  br label %ehcleanup4771838 1839lpad428:                                          ; preds = %invoke.cont4261840  %tmp1204 = landingpad { ptr, i32 }1841          cleanup1842  unreachable1843 1844lpad454:                                          ; preds = %invoke.cont4521845  %tmp1207 = landingpad { ptr, i32 }1846          cleanup1847  unreachable1848 1849ehcleanup477:                                     ; preds = %lpad425, %lpad381, %lpad.i2132, %lpad.i21261850  unreachable1851 1852lpad489:                                          ; preds = %invoke.cont546, %invoke.cont540, %invoke.cont528, %invoke.cont509, %invoke.cont499, %invoke.cont4751853  %tmp1211 = landingpad { ptr, i32 }1854          cleanup1855  br label %ehcleanup5601856 1857lpad498:                                          ; preds = %invoke.cont4901858  %tmp1214 = landingpad { ptr, i32 }1859          cleanup1860  unreachable1861 1862lpad505:                                          ; preds = %invoke.cont5031863  %tmp1215 = landingpad { ptr, i32 }1864          cleanup1865  unreachable1866 1867lpad508:                                          ; preds = %invoke.cont5061868  %tmp1216 = landingpad { ptr, i32 }1869          cleanup1870  unreachable1871 1872lpad514:                                          ; preds = %msgSend.call1873  %tmp1217 = landingpad { ptr, i32 }1874          cleanup1875  unreachable1876 1877lpad527:                                          ; preds = %invoke.cont5211878  %tmp1219 = landingpad { ptr, i32 }1879          cleanup1880  br label %ehcleanup5601881 1882lpad533:                                          ; preds = %invoke.cont5311883  %tmp1220 = landingpad { ptr, i32 }1884          cleanup1885  unreachable1886 1887lpad545:                                          ; preds = %invoke.cont5431888  %tmp1222 = landingpad { ptr, i32 }1889          cleanup1890  unreachable1891 1892lpad553:                                          ; preds = %invoke.cont5481893  %tmp1224 = landingpad { ptr, i32 }1894          cleanup1895  unreachable1896 1897ehcleanup560:                                     ; preds = %lpad527, %lpad4891898  br label %eh.resume1899 1900lpad565:                                          ; preds = %invoke.cont.i21481901  %tmp1225 = landingpad { ptr, i32 }1902          cleanup1903  unreachable1904 1905lpad571:                                          ; preds = %invoke.cont5661906  %tmp1227 = landingpad { ptr, i32 }1907          cleanup1908  unreachable1909 1910lpad580:                                          ; preds = %invoke.cont5721911  %tmp1228 = landingpad { ptr, i32 }1912          cleanup1913  br label %eh.resume1914 1915eh.resume:                                        ; preds = %lpad580, %ehcleanup560, %lpad360, %lpad2201916  resume { ptr, i32 } undef1917}1918 1919@"OBJC_EHTYPE_$_NSException" = external global i81920 1921define void @test4(i1 %arg) personality ptr @__objc_personality_v0 {1922entry:1923  br i1 %arg, label %if.end13, label %if.then101924 1925if.then10:                                        ; preds = %entry1926  br label %if.end131927 1928if.end13:                                         ; preds = %if.then10, %entry1929  %0 = call ptr @objc_msgSend(ptr undef, ptr undef, ptr @_unnamed_cfstring, i64 2, ptr @_unnamed_cfstring_2, i8 signext 0), !clang.arc.no_objc_arc_exceptions !01930  br i1 %arg, label %if.then17, label %if.end181931 1932if.then17:                                        ; preds = %if.end131933  br label %if.end181934 1935if.end18:                                         ; preds = %if.then17, %if.end131936  br i1 %arg, label %if.then64, label %if.end731937 1938if.then64:                                        ; preds = %if.end181939  br i1 %arg, label %cond.end71, label %cond.true681940 1941cond.true68:                                      ; preds = %if.then641942  br label %cond.end711943 1944cond.end71:                                       ; preds = %cond.true68, %if.then641945  br i1 %arg, label %cleanup.action, label %cleanup.done1946 1947cleanup.action:                                   ; preds = %cond.end711948  br label %cleanup.done1949 1950cleanup.done:                                     ; preds = %cleanup.action, %cond.end711951  br label %if.end731952 1953if.end73:                                         ; preds = %cleanup.done, %if.end181954  br i1 %arg, label %forcoll.empty, label %forcoll.loopinit1955 1956forcoll.loopinit:                                 ; preds = %if.end731957  br label %forcoll.loopbody.outer1958 1959forcoll.loopbody.outer:                           ; preds = %forcoll.refetch, %forcoll.loopinit1960  br label %forcoll.loopbody1961 1962forcoll.loopbody:                                 ; preds = %forcoll.notmutated, %forcoll.loopbody.outer1963  br i1 %arg, label %forcoll.notmutated, label %forcoll.mutated1964 1965forcoll.mutated:                                  ; preds = %forcoll.loopbody1966  br label %forcoll.notmutated1967 1968forcoll.notmutated:                               ; preds = %forcoll.mutated, %forcoll.loopbody1969  br i1 %arg, label %forcoll.loopbody, label %forcoll.refetch1970 1971forcoll.refetch:                                  ; preds = %forcoll.notmutated1972  br i1 %arg, label %forcoll.empty, label %forcoll.loopbody.outer1973 1974forcoll.empty:                                    ; preds = %forcoll.refetch, %if.end731975  br i1 %arg, label %if.end85, label %if.then821976 1977if.then82:                                        ; preds = %forcoll.empty1978  br label %if.end851979 1980if.end85:                                         ; preds = %if.then82, %forcoll.empty1981  br i1 %arg, label %if.then87, label %if.end1021982 1983if.then87:                                        ; preds = %if.end851984  br i1 %arg, label %if.end94, label %if.then911985 1986if.then91:                                        ; preds = %if.then871987  br label %if.end941988 1989if.end94:                                         ; preds = %if.then91, %if.then871990  br i1 %arg, label %if.end101, label %if.then981991 1992if.then98:                                        ; preds = %if.end941993  br label %if.end1011994 1995if.end101:                                        ; preds = %if.then98, %if.end941996  br label %if.end1021997 1998if.end102:                                        ; preds = %if.end101, %if.end851999  br i1 %arg, label %do.body113, label %if.then1072000 2001if.then107:                                       ; preds = %if.end1022002  br label %do.body1132003 2004do.body113:                                       ; preds = %if.then107, %if.end1022005  br i1 %arg, label %if.then116, label %if.end1172006 2007if.then116:                                       ; preds = %do.body1132008  br label %if.end1172009 2010if.end117:                                        ; preds = %if.then116, %do.body1132011  br i1 %arg, label %if.then125, label %if.end1262012 2013if.then125:                                       ; preds = %if.end1172014  br label %if.end1262015 2016if.end126:                                        ; preds = %if.then125, %if.end1172017  br i1 %arg, label %do.end166, label %cond.true1322018 2019cond.true132:                                     ; preds = %if.end1262020  br i1 %arg, label %do.body148, label %cond.true1512021 2022do.body148:                                       ; preds = %cond.true1322023  br i1 %arg, label %do.end166, label %cond.true1512024 2025cond.true151:                                     ; preds = %do.body148, %cond.true1322026  br i1 %arg, label %if.then162, label %do.end1662027 2028if.then162:                                       ; preds = %cond.true1512029  br label %do.end1662030 2031do.end166:                                        ; preds = %if.then162, %cond.true151, %do.body148, %if.end1262032  br i1 %arg, label %if.then304, label %if.then1702033 2034if.then170:                                       ; preds = %do.end1662035  br i1 %arg, label %do.end193, label %cond.true1792036 2037cond.true179:                                     ; preds = %if.then1702038  br i1 %arg, label %if.then190, label %do.end1932039 2040if.then190:                                       ; preds = %cond.true1792041  br label %do.end1932042 2043do.end193:                                        ; preds = %if.then190, %cond.true179, %if.then1702044  br i1 %arg, label %do.body200, label %do.body2832045 2046do.body200:                                       ; preds = %do.end1932047  br i1 %arg, label %do.end254, label %cond.true2032048 2049cond.true203:                                     ; preds = %do.body2002050  br i1 %arg, label %do.body218, label %cond.true2212051 2052do.body218:                                       ; preds = %cond.true2032053  br i1 %arg, label %do.end254, label %cond.true2212054 2055cond.true221:                                     ; preds = %do.body218, %cond.true2032056  br i1 %arg, label %if.then232, label %do.body2362057 2058if.then232:                                       ; preds = %cond.true2212059  br label %do.body2362060 2061do.body236:                                       ; preds = %if.then232, %cond.true2212062  br i1 %arg, label %do.end254, label %cond.true2392063 2064cond.true239:                                     ; preds = %do.body2362065  br i1 %arg, label %if.then250, label %do.end2542066 2067if.then250:                                       ; preds = %cond.true2392068  br label %do.end2542069 2070do.end254:                                        ; preds = %if.then250, %cond.true239, %do.body236, %do.body218, %do.body2002071  br i1 %arg, label %do.end277, label %cond.true2632072 2073cond.true263:                                     ; preds = %do.end2542074  br i1 %arg, label %if.then274, label %do.end2772075 2076if.then274:                                       ; preds = %cond.true2632077  unreachable2078 2079do.end277:                                        ; preds = %cond.true263, %do.end2542080  br i1 %arg, label %if.then280, label %do.body2832081 2082if.then280:                                       ; preds = %do.end2772083  br label %do.body2832084 2085do.body283:                                       ; preds = %if.then280, %do.end277, %do.end1932086  br i1 %arg, label %if.end301, label %cond.true2862087 2088cond.true286:                                     ; preds = %do.body2832089  br i1 %arg, label %if.then297, label %if.end3012090 2091if.then297:                                       ; preds = %cond.true2862092  br label %if.end3012093 2094if.end301:                                        ; preds = %if.then297, %cond.true286, %do.body2832095  br i1 %arg, label %if.then304, label %do.body3512096 2097if.then304:                                       ; preds = %if.end301, %do.end1662098  br i1 %arg, label %do.body309.lr.ph, label %do.body3512099 2100do.body309.lr.ph:                                 ; preds = %if.then3042101  br label %do.body3092102 2103do.body309:                                       ; preds = %for.cond.backedge, %do.body309.lr.ph2104  br i1 %arg, label %do.end328, label %cond.true3122105 2106cond.true312:                                     ; preds = %do.body3092107  br i1 %arg, label %if.then323, label %do.end3282108 2109if.then323:                                       ; preds = %cond.true3122110  br label %do.end3282111 2112do.end328:                                        ; preds = %if.then323, %cond.true312, %do.body3092113  br i1 %arg, label %for.cond.backedge, label %cond.true3352114 2115for.cond.backedge:                                ; preds = %if.then346, %cond.true335, %do.end3282116  br i1 %arg, label %do.body309, label %do.body3512117 2118cond.true335:                                     ; preds = %do.end3282119  br i1 %arg, label %if.then346, label %for.cond.backedge2120 2121if.then346:                                       ; preds = %cond.true3352122  br label %for.cond.backedge2123 2124do.body351:                                       ; preds = %for.cond.backedge, %if.then304, %if.end3012125  br i1 %arg, label %if.then354, label %if.end3552126 2127if.then354:                                       ; preds = %do.body3512128  br label %if.end3552129 2130if.end355:                                        ; preds = %if.then354, %do.body3512131  br i1 %arg, label %if.else, label %if.then3642132 2133if.then364:                                       ; preds = %if.end3552134  br label %do.body3662135 2136if.else:                                          ; preds = %if.end3552137  br label %do.body3662138 2139do.body366:                                       ; preds = %if.else, %if.then3642140  br i1 %arg, label %if.then369, label %if.end377.critedge2141 2142if.then369:                                       ; preds = %do.body3662143  br label %if.end3772144 2145if.end377.critedge:                               ; preds = %do.body3662146  br label %if.end3772147 2148if.end377:                                        ; preds = %if.end377.critedge, %if.then3692149  br i1 %arg, label %if.then383, label %if.end392.critedge2150 2151if.then383:                                       ; preds = %if.end3772152  br label %if.end3922153 2154if.end392.critedge:                               ; preds = %if.end3772155  br label %if.end3922156 2157if.end392:                                        ; preds = %if.end392.critedge, %if.then3832158  br i1 %arg, label %if.then398, label %if.end3992159 2160if.then398:                                       ; preds = %if.end3922161  br label %if.end3992162 2163if.end399:                                        ; preds = %if.then398, %if.end3922164  invoke void @objc_msgSend(ptr undef, ptr undef)2165          to label %eh.cont unwind label %lpad, !clang.arc.no_objc_arc_exceptions !02166 2167eh.cont:                                          ; preds = %if.end3992168  br i1 %arg, label %if.then430, label %if.end439.critedge2169 2170if.then430:                                       ; preds = %eh.cont2171  %1 = call ptr @llvm.objc.retain(ptr %0)2172  br label %if.end4392173 2174lpad:                                             ; preds = %if.end3992175  %2 = landingpad { ptr, i32 }2176          catch ptr @"OBJC_EHTYPE_$_NSException"2177  unreachable2178 2179if.end439.critedge:                               ; preds = %eh.cont2180  %3 = call ptr @llvm.objc.retain(ptr %0)2181  br label %if.end4392182 2183if.end439:                                        ; preds = %if.end439.critedge, %if.then4302184  call void @llvm.objc.release(ptr %0), !clang.imprecise_release !02185  unreachable2186 2187return:                                           ; No predecessors!2188  ret void2189}2190 2191 2192!0 = !{}2193