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