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