1 ; RUN: opt -objc-arc -S < %s 2 ; rdar://12277446 3 ; rdar://12480535 4 5 ; The total number of paths grows exponentially with the number of branches, and a 6 ; computation of this number can overflow any reasonable fixed-sized 7 ; integer. This can occur in both the addition phase when we are adding up the 8 ; total bottomup/topdown paths and when we multiply them together at the end. 9 10 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32" 11 target triple = "thumbv7-apple-ios5.0.0" 12 13 %struct.NSConstantString.11.33.55.77.99.121.143.332.1130.1340.2768 = type { i32*, i32, i8*, i32 } 14 15 @_unnamed_cfstring_591 = external constant %struct.NSConstantString.11.33.55.77.99.121.143.332.1130.1340.2768, section "__DATA,__cfstring" 16 17 declare i8* @objc_retain(i8*) nonlazybind 18 declare i8* @objc_retainAutoreleasedReturnValue(i8*) nonlazybind 19 declare void @objc_release(i8*) nonlazybind 20 declare i8* @returner() 21 22 define hidden void @test1() { 23 entry: 24 br i1 undef, label %msgSend.nullinit, label %msgSend.call 25 26 msgSend.call: ; preds = %entry 27 br label %msgSend.cont 28 29 msgSend.nullinit: ; preds = %entry 30 br label %msgSend.cont 31 32 msgSend.cont: ; preds = %msgSend.nullinit, %msgSend.call 33 %0 = bitcast %struct.NSConstantString.11.33.55.77.99.121.143.332.1130.1340.2768* @_unnamed_cfstring_591 to i8* 34 %1 = call i8* @objc_retain(i8* %0) nounwind 35 br i1 undef, label %msgSend.nullinit33, label %msgSend.call32 36 37 msgSend.call32: ; preds = %if.end10 38 br label %msgSend.cont34 39 40 msgSend.nullinit33: ; preds = %if.end10 41 br label %msgSend.cont34 42 43 msgSend.cont34: ; preds = %msgSend.nullinit33, %msgSend.call32 44 br i1 undef, label %msgSend.nullinit38, label %msgSend.call37 45 46 msgSend.call37: ; preds = %msgSend.cont34 47 br label %msgSend.cont39 48 49 msgSend.nullinit38: ; preds = %msgSend.cont34 50 br label %msgSend.cont39 51 52 msgSend.cont39: ; preds = %msgSend.nullinit38, %msgSend.call37 53 br i1 undef, label %msgSend.nullinit49, label %msgSend.call48 54 55 msgSend.call48: ; preds = %msgSend.cont39 56 br label %msgSend.cont50 57 58 msgSend.nullinit49: ; preds = %msgSend.cont39 59 br label %msgSend.cont50 60 61 msgSend.cont50: ; preds = %msgSend.nullinit49, %msgSend.call48 62 br i1 undef, label %msgSend.nullinit61, label %msgSend.call60 63 64 msgSend.call60: ; preds = %msgSend.cont50 65 br label %msgSend.cont62 66 67 msgSend.nullinit61: ; preds = %msgSend.cont50 68 br label %msgSend.cont62 69 70 msgSend.cont62: ; preds = %msgSend.nullinit61, %msgSend.call60 71 br i1 undef, label %msgSend.nullinit67, label %msgSend.call66 72 73 msgSend.call66: ; preds = %msgSend.cont62 74 br label %msgSend.cont68 75 76 msgSend.nullinit67: ; preds = %msgSend.cont62 77 br label %msgSend.cont68 78 79 msgSend.cont68: ; preds = %msgSend.nullinit67, %msgSend.call66 80 br i1 undef, label %msgSend.nullinit84, label %msgSend.call83 81 82 msgSend.call83: ; preds = %msgSend.cont68 83 br label %msgSend.cont85 84 85 msgSend.nullinit84: ; preds = %msgSend.cont68 86 br label %msgSend.cont85 87 88 msgSend.cont85: ; preds = %msgSend.nullinit84, %msgSend.call83 89 br i1 undef, label %msgSend.nullinit90, label %msgSend.call89 90 91 msgSend.call89: ; preds = %msgSend.cont85 92 br label %msgSend.cont91 93 94 msgSend.nullinit90: ; preds = %msgSend.cont85 95 br label %msgSend.cont91 96 97 msgSend.cont91: ; preds = %msgSend.nullinit90, %msgSend.call89 98 br i1 undef, label %msgSend.nullinit104, label %msgSend.call103 99 100 msgSend.call103: ; preds = %msgSend.cont91 101 br label %msgSend.cont105 102 103 msgSend.nullinit104: ; preds = %msgSend.cont91 104 br label %msgSend.cont105 105 106 msgSend.cont105: ; preds = %msgSend.nullinit104, %msgSend.call103 107 br i1 undef, label %land.lhs.true, label %if.end123 108 109 land.lhs.true: ; preds = %msgSend.cont105 110 br i1 undef, label %if.then117, label %if.end123 111 112 if.then117: ; preds = %land.lhs.true 113 br label %if.end123 114 115 if.end123: ; preds = %if.then117, %land.lhs.true, %msgSend.cont105 116 br i1 undef, label %msgSend.nullinit132, label %msgSend.call131 117 118 msgSend.call131: ; preds = %if.end123 119 br label %msgSend.cont133 120 121 msgSend.nullinit132: ; preds = %if.end123 122 br label %msgSend.cont133 123 124 msgSend.cont133: ; preds = %msgSend.nullinit132, %msgSend.call131 125 br i1 undef, label %msgSend.nullinit139, label %msgSend.call138 126 127 msgSend.call138: ; preds = %msgSend.cont133 128 br label %msgSend.cont140 129 130 msgSend.nullinit139: ; preds = %msgSend.cont133 131 br label %msgSend.cont140 132 133 msgSend.cont140: ; preds = %msgSend.nullinit139, %msgSend.call138 134 br i1 undef, label %if.then151, label %if.end157 135 136 if.then151: ; preds = %msgSend.cont140 137 br label %if.end157 138 139 if.end157: ; preds = %if.then151, %msgSend.cont140 140 br i1 undef, label %msgSend.nullinit164, label %msgSend.call163 141 142 msgSend.call163: ; preds = %if.end157 143 br label %msgSend.cont165 144 145 msgSend.nullinit164: ; preds = %if.end157 146 br label %msgSend.cont165 147 148 msgSend.cont165: ; preds = %msgSend.nullinit164, %msgSend.call163 149 br i1 undef, label %msgSend.nullinit176, label %msgSend.call175 150 151 msgSend.call175: ; preds = %msgSend.cont165 152 br label %msgSend.cont177 153 154 msgSend.nullinit176: ; preds = %msgSend.cont165 155 br label %msgSend.cont177 156 157 msgSend.cont177: ; preds = %msgSend.nullinit176, %msgSend.call175 158 br i1 undef, label %land.lhs.true181, label %if.end202 159 160 land.lhs.true181: ; preds = %msgSend.cont177 161 br i1 undef, label %if.then187, label %if.end202 162 163 if.then187: ; preds = %land.lhs.true181 164 br i1 undef, label %msgSend.nullinit199, label %msgSend.call198 165 166 msgSend.call198: ; preds = %if.then187 167 br label %msgSend.cont200 168 169 msgSend.nullinit199: ; preds = %if.then187 170 br label %msgSend.cont200 171 172 msgSend.cont200: ; preds = %msgSend.nullinit199, %msgSend.call198 173 br label %if.end202 174 175 if.end202: ; preds = %msgSend.cont200, %land.lhs.true181, %msgSend.cont177 176 br i1 undef, label %msgSend.nullinit236, label %msgSend.call235 177 178 msgSend.call235: ; preds = %if.end202 179 br label %msgSend.cont237 180 181 msgSend.nullinit236: ; preds = %if.end202 182 br label %msgSend.cont237 183 184 msgSend.cont237: ; preds = %msgSend.nullinit236, %msgSend.call235 185 br i1 undef, label %msgSend.nullinit254, label %msgSend.call253 186 187 msgSend.call253: ; preds = %msgSend.cont237 188 br label %msgSend.cont255 189 190 msgSend.nullinit254: ; preds = %msgSend.cont237 191 br label %msgSend.cont255 192 193 msgSend.cont255: ; preds = %msgSend.nullinit254, %msgSend.call253 194 br i1 undef, label %msgSend.nullinit269, label %msgSend.call268 195 196 msgSend.call268: ; preds = %msgSend.cont255 197 br label %msgSend.cont270 198 199 msgSend.nullinit269: ; preds = %msgSend.cont255 200 br label %msgSend.cont270 201 202 msgSend.cont270: ; preds = %msgSend.nullinit269, %msgSend.call268 203 br i1 undef, label %msgSend.nullinit281, label %msgSend.call280 204 205 msgSend.call280: ; preds = %msgSend.cont270 206 br label %msgSend.cont282 207 208 msgSend.nullinit281: ; preds = %msgSend.cont270 209 br label %msgSend.cont282 210 211 msgSend.cont282: ; preds = %msgSend.nullinit281, %msgSend.call280 212 br i1 undef, label %msgSend.nullinit287, label %msgSend.call286 213 214 msgSend.call286: ; preds = %msgSend.cont282 215 br label %msgSend.cont288 216 217 msgSend.nullinit287: ; preds = %msgSend.cont282 218 br label %msgSend.cont288 219 220 msgSend.cont288: ; preds = %msgSend.nullinit287, %msgSend.call286 221 br i1 undef, label %msgSend.nullinit303, label %msgSend.call302 222 223 msgSend.call302: ; preds = %msgSend.cont288 224 br label %msgSend.cont304 225 226 msgSend.nullinit303: ; preds = %msgSend.cont288 227 br label %msgSend.cont304 228 229 msgSend.cont304: ; preds = %msgSend.nullinit303, %msgSend.call302 230 br i1 undef, label %msgSend.nullinit344, label %msgSend.call343 231 232 msgSend.call343: ; preds = %msgSend.cont304 233 br label %msgSend.cont345 234 235 msgSend.nullinit344: ; preds = %msgSend.cont304 236 br label %msgSend.cont345 237 238 msgSend.cont345: ; preds = %msgSend.nullinit344, %msgSend.call343 239 br i1 undef, label %msgSend.nullinit350, label %msgSend.call349 240 241 msgSend.call349: ; preds = %msgSend.cont345 242 br label %msgSend.cont351 243 244 msgSend.nullinit350: ; preds = %msgSend.cont345 245 br label %msgSend.cont351 246 247 msgSend.cont351: ; preds = %msgSend.nullinit350, %msgSend.call349 248 br i1 undef, label %msgSend.nullinit366, label %msgSend.call365 249 250 msgSend.call365: ; preds = %msgSend.cont351 251 br label %msgSend.cont367 252 253 msgSend.nullinit366: ; preds = %msgSend.cont351 254 br label %msgSend.cont367 255 256 msgSend.cont367: ; preds = %msgSend.nullinit366, %msgSend.call365 257 br i1 undef, label %msgSend.nullinit376, label %msgSend.call375 258 259 msgSend.call375: ; preds = %msgSend.cont367 260 br label %msgSend.cont377 261 262 msgSend.nullinit376: ; preds = %msgSend.cont367 263 br label %msgSend.cont377 264 265 msgSend.cont377: ; preds = %msgSend.nullinit376, %msgSend.call375 266 br i1 undef, label %if.then384, label %if.else401 267 268 if.then384: ; preds = %msgSend.cont377 269 br i1 undef, label %msgSend.nullinit392, label %msgSend.call391 270 271 msgSend.call391: ; preds = %if.then384 272 br label %msgSend.cont393 273 274 msgSend.nullinit392: ; preds = %if.then384 275 br label %msgSend.cont393 276 277 msgSend.cont393: ; preds = %msgSend.nullinit392, %msgSend.call391 278 br label %if.end418 279 280 if.else401: ; preds = %msgSend.cont377 281 br i1 undef, label %msgSend.nullinit409, label %msgSend.call408 282 283 msgSend.call408: ; preds = %if.else401 284 br label %msgSend.cont410 285 286 msgSend.nullinit409: ; preds = %if.else401 287 br label %msgSend.cont410 288 289 msgSend.cont410: ; preds = %msgSend.nullinit409, %msgSend.call408 290 br label %if.end418 291 292 if.end418: ; preds = %msgSend.cont410, %msgSend.cont393 293 br i1 undef, label %msgSend.nullinit470, label %msgSend.call469 294 295 msgSend.call469: ; preds = %if.end418 296 br label %msgSend.cont471 297 298 msgSend.nullinit470: ; preds = %if.end418 299 br label %msgSend.cont471 300 301 msgSend.cont471: ; preds = %msgSend.nullinit470, %msgSend.call469 302 br i1 undef, label %msgSend.nullinit484, label %msgSend.call483 303 304 msgSend.call483: ; preds = %msgSend.cont471 305 br label %msgSend.cont485 306 307 msgSend.nullinit484: ; preds = %msgSend.cont471 308 br label %msgSend.cont485 309 310 msgSend.cont485: ; preds = %msgSend.nullinit484, %msgSend.call483 311 br i1 undef, label %msgSend.nullinit500, label %msgSend.call499 312 313 msgSend.call499: ; preds = %msgSend.cont485 314 br label %msgSend.cont501 315 316 msgSend.nullinit500: ; preds = %msgSend.cont485 317 br label %msgSend.cont501 318 319 msgSend.cont501: ; preds = %msgSend.nullinit500, %msgSend.call499 320 br i1 undef, label %msgSend.nullinit506, label %msgSend.call505 321 322 msgSend.call505: ; preds = %msgSend.cont501 323 br label %msgSend.cont507 324 325 msgSend.nullinit506: ; preds = %msgSend.cont501 326 br label %msgSend.cont507 327 328 msgSend.cont507: ; preds = %msgSend.nullinit506, %msgSend.call505 329 call void @objc_release(i8* %0) nounwind, !clang.imprecise_release !0 330 ret void 331 } 332 333 ; Function Attrs: optsize ssp uwtable 334 define void @test2() unnamed_addr align 2 { 335 bb: 336 br i1 undef, label %bb3, label %bb2 337 338 bb2: ; preds = %bb 339 br label %bb3 340 341 bb3: ; preds = %bb2, %bb 342 br i1 undef, label %bb5, label %bb4 343 344 bb4: ; preds = %bb3 345 br label %bb5 346 347 bb5: ; preds = %bb4, %bb3 348 br i1 undef, label %bb7, label %bb6 349 350 bb6: ; preds = %bb5 351 br label %bb7 352 353 bb7: ; preds = %bb6, %bb5 354 br i1 undef, label %bb9, label %bb8 355 356 bb8: ; preds = %bb7 357 unreachable 358 359 bb9: ; preds = %bb7 360 br i1 undef, label %bb11, label %bb10 361 362 bb10: ; preds = %bb9 363 br label %bb11 364 365 bb11: ; preds = %bb10, %bb9 366 br i1 undef, label %bb13, label %bb12 367 368 bb12: ; preds = %bb11 369 br label %bb13 370 371 bb13: ; preds = %bb12, %bb11 372 br i1 undef, label %bb15, label %bb14 373 374 bb14: ; preds = %bb13 375 br label %bb15 376 377 bb15: ; preds = %bb14, %bb13 378 br i1 undef, label %bb17, label %bb16 379 380 bb16: ; preds = %bb15 381 br label %bb17 382 383 bb17: ; preds = %bb16, %bb15 384 br i1 undef, label %bb19, label %bb18 385 386 bb18: ; preds = %bb17 387 br label %bb19 388 389 bb19: ; preds = %bb18, %bb17 390 br i1 undef, label %bb222, label %bb20 391 392 bb20: ; preds = %bb19 393 br i1 undef, label %bb222, label %bb21 394 395 bb21: ; preds = %bb20 396 br i1 undef, label %bb22, label %bb30 397 398 bb22: ; preds = %bb21 399 br i1 undef, label %bb23, label %bb32 400 401 bb23: ; preds = %bb22 402 br i1 undef, label %bb24, label %bb34 403 404 bb24: ; preds = %bb23 405 br i1 undef, label %bb26, label %bb25 406 407 bb25: ; preds = %bb24 408 br label %bb27 409 410 bb26: ; preds = %bb24 411 br label %bb27 412 413 bb27: ; preds = %bb26, %bb25 414 br i1 undef, label %bb28, label %bb42 415 416 bb28: ; preds = %bb27 417 br i1 undef, label %bb36, label %bb29 418 419 bb29: ; preds = %bb28 420 br label %bb36 421 422 bb30: ; preds = %bb210, %bb207, %bb203, %bb199, %bb182, %bb176, %bb174, %bb171, %bb136, %bb132, %bb21 423 br label %bb213 424 425 bb32: ; preds = %bb22 426 unreachable 427 428 bb34: ; preds = %bb23 429 unreachable 430 431 bb36: ; preds = %bb29, %bb28 432 br i1 undef, label %bb38, label %bb37 433 434 bb37: ; preds = %bb36 435 br label %bb39 436 437 bb38: ; preds = %bb36 438 br label %bb39 439 440 bb39: ; preds = %bb38, %bb37 441 br i1 undef, label %bb41, label %bb40 442 443 bb40: ; preds = %bb39 444 unreachable 445 446 bb41: ; preds = %bb39 447 br label %bb42 448 449 bb42: ; preds = %bb41, %bb27 450 br i1 undef, label %bb43, label %bb214 451 452 bb43: ; preds = %bb42 453 br i1 undef, label %bb47, label %bb45 454 455 bb45: ; preds = %bb130, %bb128, %bb126, %bb124, %bb122, %bb120, %bb118, %bb116, %bb114, %bb112, %bb110, %bb108, %bb105, %bb102, %bb100, %bb96, %bb94, %bb90, %bb88, %bb84, %bb82, %bb78, %bb76, %bb72, %bb70, %bb66, %bb64, %bb60, %bb58, %bb54, %bb51, %bb43 456 unreachable 457 458 bb47: ; preds = %bb43 459 br i1 undef, label %bb48, label %bb106 460 461 bb48: ; preds = %bb47 462 br i1 undef, label %bb50, label %bb49 463 464 bb49: ; preds = %bb48 465 br label %bb51 466 467 bb50: ; preds = %bb48 468 br label %bb51 469 470 bb51: ; preds = %bb50, %bb49 471 br i1 undef, label %bb53, label %bb45 472 473 bb53: ; preds = %bb51 474 br i1 undef, label %bb54, label %bb134 475 476 bb54: ; preds = %bb53 477 br i1 undef, label %bb55, label %bb45 478 479 bb55: ; preds = %bb54 480 br i1 undef, label %bb57, label %bb56 481 482 bb56: ; preds = %bb55 483 br label %bb58 484 485 bb57: ; preds = %bb55 486 br label %bb58 487 488 bb58: ; preds = %bb57, %bb56 489 br i1 undef, label %bb60, label %bb45 490 491 bb60: ; preds = %bb58 492 br i1 undef, label %bb61, label %bb45 493 494 bb61: ; preds = %bb60 495 br i1 undef, label %bb63, label %bb62 496 497 bb62: ; preds = %bb61 498 br label %bb64 499 500 bb63: ; preds = %bb61 501 br label %bb64 502 503 bb64: ; preds = %bb63, %bb62 504 br i1 undef, label %bb66, label %bb45 505 506 bb66: ; preds = %bb64 507 br i1 undef, label %bb67, label %bb45 508 509 bb67: ; preds = %bb66 510 br i1 undef, label %bb69, label %bb68 511 512 bb68: ; preds = %bb67 513 br label %bb70 514 515 bb69: ; preds = %bb67 516 br label %bb70 517 518 bb70: ; preds = %bb69, %bb68 519 br i1 undef, label %bb72, label %bb45 520 521 bb72: ; preds = %bb70 522 br i1 undef, label %bb73, label %bb45 523 524 bb73: ; preds = %bb72 525 br i1 undef, label %bb75, label %bb74 526 527 bb74: ; preds = %bb73 528 br label %bb76 529 530 bb75: ; preds = %bb73 531 br label %bb76 532 533 bb76: ; preds = %bb75, %bb74 534 br i1 undef, label %bb78, label %bb45 535 536 bb78: ; preds = %bb76 537 br i1 undef, label %bb79, label %bb45 538 539 bb79: ; preds = %bb78 540 br i1 undef, label %bb81, label %bb80 541 542 bb80: ; preds = %bb79 543 br label %bb82 544 545 bb81: ; preds = %bb79 546 br label %bb82 547 548 bb82: ; preds = %bb81, %bb80 549 br i1 undef, label %bb84, label %bb45 550 551 bb84: ; preds = %bb82 552 br i1 undef, label %bb85, label %bb45 553 554 bb85: ; preds = %bb84 555 br i1 undef, label %bb87, label %bb86 556 557 bb86: ; preds = %bb85 558 br label %bb88 559 560 bb87: ; preds = %bb85 561 br label %bb88 562 563 bb88: ; preds = %bb87, %bb86 564 br i1 undef, label %bb90, label %bb45 565 566 bb90: ; preds = %bb88 567 br i1 undef, label %bb91, label %bb45 568 569 bb91: ; preds = %bb90 570 br i1 undef, label %bb93, label %bb92 571 572 bb92: ; preds = %bb91 573 br label %bb94 574 575 bb93: ; preds = %bb91 576 br label %bb94 577 578 bb94: ; preds = %bb93, %bb92 579 br i1 undef, label %bb96, label %bb45 580 581 bb96: ; preds = %bb94 582 br i1 undef, label %bb97, label %bb45 583 584 bb97: ; preds = %bb96 585 br i1 undef, label %bb99, label %bb98 586 587 bb98: ; preds = %bb97 588 br label %bb100 589 590 bb99: ; preds = %bb97 591 br label %bb100 592 593 bb100: ; preds = %bb99, %bb98 594 br i1 undef, label %bb102, label %bb45 595 596 bb102: ; preds = %bb100 597 br i1 undef, label %bb104, label %bb45 598 599 bb104: ; preds = %bb102 600 br i1 undef, label %bb108, label %bb105 601 602 bb105: ; preds = %bb104 603 br i1 undef, label %bb108, label %bb45 604 605 bb106: ; preds = %bb47 606 unreachable 607 608 bb108: ; preds = %bb105, %bb104 609 br i1 undef, label %bb110, label %bb45 610 611 bb110: ; preds = %bb108 612 br i1 undef, label %bb112, label %bb45 613 614 bb112: ; preds = %bb110 615 br i1 undef, label %bb114, label %bb45 616 617 bb114: ; preds = %bb112 618 br i1 undef, label %bb116, label %bb45 619 620 bb116: ; preds = %bb114 621 br i1 undef, label %bb118, label %bb45 622 623 bb118: ; preds = %bb116 624 br i1 undef, label %bb120, label %bb45 625 626 bb120: ; preds = %bb118 627 br i1 undef, label %bb122, label %bb45 628 629 bb122: ; preds = %bb120 630 br i1 undef, label %bb124, label %bb45 631 632 bb124: ; preds = %bb122 633 br i1 undef, label %bb126, label %bb45 634 635 bb126: ; preds = %bb124 636 br i1 undef, label %bb128, label %bb45 637 638 bb128: ; preds = %bb126 639 br i1 undef, label %bb130, label %bb45 640 641 bb130: ; preds = %bb128 642 br i1 undef, label %bb132, label %bb45 643 644 bb132: ; preds = %bb130 645 br i1 undef, label %bb135, label %bb30 646 647 bb134: ; preds = %bb53 648 unreachable 649 650 bb135: ; preds = %bb132 651 br i1 undef, label %bb139, label %bb136 652 653 bb136: ; preds = %bb135 654 br i1 undef, label %bb138, label %bb30 655 656 bb138: ; preds = %bb136 657 br label %bb139 658 659 bb139: ; preds = %bb138, %bb135 660 br i1 undef, label %bb140, label %bb141 661 662 bb140: ; preds = %bb139 663 unreachable 664 665 bb141: ; preds = %bb139 666 br i1 undef, label %bb142, label %bb215 667 668 bb142: ; preds = %bb141 669 br i1 undef, label %bb144, label %bb143 670 671 bb143: ; preds = %bb142 672 br label %bb145 673 674 bb144: ; preds = %bb142 675 br label %bb145 676 677 bb145: ; preds = %bb144, %bb143 678 br i1 undef, label %bb146, label %bb151 679 680 bb146: ; preds = %bb145 681 br i1 undef, label %bb148, label %bb153 682 683 bb148: ; preds = %bb146 684 br i1 undef, label %bb155, label %bb149 685 686 bb149: ; preds = %bb148 687 br i1 undef, label %bb150, label %bb153 688 689 bb150: ; preds = %bb149 690 br label %bb155 691 692 bb151: ; preds = %bb145 693 unreachable 694 695 bb153: ; preds = %bb158, %bb149, %bb146 696 unreachable 697 698 bb155: ; preds = %bb150, %bb148 699 br i1 undef, label %bb157, label %bb156 700 701 bb156: ; preds = %bb155 702 br label %bb158 703 704 bb157: ; preds = %bb155 705 br label %bb158 706 707 bb158: ; preds = %bb157, %bb156 708 br i1 undef, label %bb160, label %bb153 709 710 bb160: ; preds = %bb158 711 br i1 undef, label %bb162, label %bb161 712 713 bb161: ; preds = %bb160 714 br label %bb163 715 716 bb162: ; preds = %bb160 717 br label %bb163 718 719 bb163: ; preds = %bb162, %bb161 720 br i1 undef, label %bb165, label %bb164 721 722 bb164: ; preds = %bb163 723 br label %bb165 724 725 bb165: ; preds = %bb164, %bb163 726 br i1 undef, label %bb170, label %bb166 727 728 bb166: ; preds = %bb165 729 br i1 undef, label %bb167, label %bb168 730 731 bb167: ; preds = %bb166 732 unreachable 733 734 bb168: ; preds = %bb166 735 unreachable 736 737 bb170: ; preds = %bb165 738 br i1 undef, label %bb215, label %bb171 739 740 bb171: ; preds = %bb170 741 br i1 undef, label %bb173, label %bb30 742 743 bb173: ; preds = %bb171 744 br i1 undef, label %bb174, label %bb215 745 746 bb174: ; preds = %bb173 747 br i1 undef, label %bb176, label %bb30 748 749 bb176: ; preds = %bb174 750 br i1 undef, label %bb178, label %bb30 751 752 bb178: ; preds = %bb176 753 br i1 undef, label %bb179, label %bb193 754 755 bb179: ; preds = %bb178 756 br i1 undef, label %bb181, label %bb180 757 758 bb180: ; preds = %bb179 759 br label %bb182 760 761 bb181: ; preds = %bb179 762 br label %bb182 763 764 bb182: ; preds = %bb181, %bb180 765 br i1 undef, label %bb184, label %bb30 766 767 bb184: ; preds = %bb182 768 %tmp185 = call i8* @returner() 769 br i1 undef, label %bb186, label %bb195 770 771 bb186: ; preds = %bb184 772 %tmp188 = call i8* @objc_retainAutoreleasedReturnValue(i8* %tmp185) 773 %tmp189 = call i8* @objc_retain(i8* %tmp188) 774 call void @objc_release(i8* %tmp189), !clang.imprecise_release !0 775 br i1 undef, label %bb197, label %bb190 776 777 bb190: ; preds = %bb186 778 br i1 undef, label %bb192, label %bb195 779 780 bb192: ; preds = %bb190 781 br i1 undef, label %bb197, label %bb195 782 783 bb193: ; preds = %bb178 784 br label %bb213 785 786 bb195: ; preds = %bb192, %bb190, %bb184 787 unreachable 788 789 bb197: ; preds = %bb192, %bb186 790 br i1 undef, label %bb198, label %bb215 791 792 bb198: ; preds = %bb197 793 br i1 undef, label %bb202, label %bb199 794 795 bb199: ; preds = %bb198 796 br i1 undef, label %bb201, label %bb30 797 798 bb201: ; preds = %bb199 799 br label %bb202 800 801 bb202: ; preds = %bb201, %bb198 802 br i1 undef, label %bb206, label %bb203 803 804 bb203: ; preds = %bb202 805 br i1 undef, label %bb205, label %bb30 806 807 bb205: ; preds = %bb203 808 br label %bb206 809 810 bb206: ; preds = %bb205, %bb202 811 br i1 undef, label %bb210, label %bb207 812 813 bb207: ; preds = %bb206 814 br i1 undef, label %bb209, label %bb30 815 816 bb209: ; preds = %bb207 817 br label %bb210 818 819 bb210: ; preds = %bb209, %bb206 820 br i1 undef, label %bb212, label %bb30 821 822 bb212: ; preds = %bb210 823 unreachable 824 825 bb213: ; preds = %bb193, %bb30 826 resume { i8*, i32 } undef 827 828 bb214: ; preds = %bb42 829 br label %bb219 830 831 bb215: ; preds = %bb197, %bb173, %bb170, %bb141 832 br i1 undef, label %bb217, label %bb216 833 834 bb216: ; preds = %bb215 835 br label %bb217 836 837 bb217: ; preds = %bb216, %bb215 838 br i1 undef, label %bb219, label %bb218 839 840 bb218: ; preds = %bb217 841 br label %bb219 842 843 bb219: ; preds = %bb218, %bb217, %bb214 844 br i1 undef, label %bb221, label %bb220 845 846 bb220: ; preds = %bb219 847 unreachable 848 849 bb221: ; preds = %bb219 850 unreachable 851 852 bb222: ; preds = %bb20, %bb19 853 ret void 854 } 855 856 857 !0 = metadata !{} 858