brintos

brintos / llvm-project-archived public Read only

0
0
Text · 33.5 KiB · 1ba6e97 Raw
855 lines · plain
1; RUN: opt < %s -passes=ipsccp -disable-output2; PR49582: This test checks for an iterator invalidation issue, which only gets3; exposed on a large-enough test case. We intentionally do not check the output.4 5@c = external dso_local global ptr, align 86@d = external dso_local global i32, align 47 8define void @f(i32 %i, i1 %arg) {9entry:10  br label %for.cond11 12for.cond:                                         ; preds = %if.end628, %entry13  %e.0 = phi i32 [ 1, %entry ], [ %e.15, %if.end628 ]14  %cmp = icmp slt i32 %e.0, %i15  call void @llvm.assume(i1 %cmp)16  %0 = load ptr, ptr @c, align 817  %tobool = icmp ne ptr %0, null18  br i1 %tobool, label %if.then, label %if.end62819 20if.then:                                          ; preds = %for.cond21  %1 = load i32, ptr %0, align 422  %tobool1 = icmp ne i32 %1, 023  br i1 %tobool1, label %if.then2, label %if.else7824 25if.then2:                                         ; preds = %if.then26  %add = add nsw i32 %e.0, 127  %cmp3 = icmp sge i32 %add, %i28  br i1 %cmp3, label %if.then4, label %if.end29 30if.then4:                                         ; preds = %if.then231  %idxprom = sext i32 %add to i6432  br label %if.end33 34if.end:                                           ; preds = %if.then4, %if.then235  br i1 %cmp3, label %if.then9, label %if.end1336 37if.then9:                                         ; preds = %if.end38  %idxprom11 = sext i32 %add to i6439  br label %if.end1340 41if.end13:                                         ; preds = %if.then9, %if.end42  br i1 %cmp3, label %if.then16, label %if.end2043 44if.then16:                                        ; preds = %if.end1345  %idxprom18 = sext i32 %add to i6446  br label %if.end2047 48if.end20:                                         ; preds = %if.then16, %if.end1349  %add21 = add nsw i32 %e.0, 350  %cmp22 = icmp sge i32 %add21, %i51  br i1 %cmp22, label %if.then23, label %if.end2552 53if.then23:                                        ; preds = %if.end2054  br label %if.end2555 56if.end25:                                         ; preds = %if.then23, %if.end2057  %e.1 = phi i32 [ %add21, %if.then23 ], [ %e.0, %if.end20 ]58  %cmp26 = icmp sge i32 %e.1, %i59  br i1 %cmp26, label %if.then27, label %if.end2860 61if.then27:                                        ; preds = %if.end2562  %inc = add nsw i32 %e.1, 163  br label %if.end2864 65if.end28:                                         ; preds = %if.then27, %if.end2566  %e.2 = phi i32 [ %inc, %if.then27 ], [ %e.1, %if.end25 ]67  %add29 = add nsw i32 %e.2, 268  %cmp30 = icmp sge i32 %add29, %i69  br i1 %cmp30, label %if.then31, label %if.end3370 71if.then31:                                        ; preds = %if.end2872  br label %if.end3373 74if.end33:                                         ; preds = %if.then31, %if.end2875  %e.3 = phi i32 [ %add29, %if.then31 ], [ %e.2, %if.end28 ]76  %cmp34 = icmp sge i32 %e.3, %i77  br i1 %cmp34, label %if.then35, label %if.end3878 79if.then35:                                        ; preds = %if.end3380  %idxprom36 = sext i32 %e.3 to i6481  br label %if.end3882 83if.end38:                                         ; preds = %if.then35, %if.end3384  br i1 %cmp34, label %if.then40, label %if.end4385 86if.then40:                                        ; preds = %if.end3887  %idxprom41 = sext i32 %e.3 to i6488  br label %if.end4389 90if.end43:                                         ; preds = %if.then40, %if.end3891  br i1 %cmp34, label %if.then45, label %if.end4792 93if.then45:                                        ; preds = %if.end4394  %inc46 = add nsw i32 %e.3, 195  br label %if.end4796 97if.end47:                                         ; preds = %if.then45, %if.end4398  %e.4 = phi i32 [ %inc46, %if.then45 ], [ %e.3, %if.end43 ]99  %cmp48 = icmp sge i32 %e.4, %i100  br i1 %cmp48, label %if.then49, label %if.end51101 102if.then49:                                        ; preds = %if.end47103  %inc50 = add nsw i32 %e.4, 1104  br label %if.end51105 106if.end51:                                         ; preds = %if.then49, %if.end47107  %e.5 = phi i32 [ %inc50, %if.then49 ], [ %e.4, %if.end47 ]108  %2 = load ptr, ptr @c, align 8109  %tobool52 = icmp ne ptr %2, null110  br i1 %tobool52, label %if.then53, label %if.else111 112if.then53:                                        ; preds = %if.end51113  %cmp54 = icmp sge i32 %e.5, %i114  br i1 %cmp54, label %if.then55, label %if.end628115 116if.then55:                                        ; preds = %if.then53117  unreachable118 119if.else:                                          ; preds = %if.end51120  %3 = load i32, ptr @d, align 4121  %tobool57 = icmp ne i32 %3, 0122  br i1 %tobool57, label %if.then58, label %if.else68123 124if.then58:                                        ; preds = %if.else125  %cmp59 = icmp sge i32 %e.5, %i126  br i1 %cmp59, label %if.then60, label %if.end62127 128if.then60:                                        ; preds = %if.then58129  %inc61 = add nsw i32 %e.5, 1130  br label %if.end62131 132if.end62:                                         ; preds = %if.then60, %if.then58133  %e.6 = phi i32 [ %inc61, %if.then60 ], [ %e.5, %if.then58 ]134  %add63 = add nsw i32 %e.6, 1135  %cmp64 = icmp sge i32 %add63, %i136  br i1 %cmp64, label %if.then65, label %if.end628137 138if.then65:                                        ; preds = %if.end62139  br label %if.end628140 141if.else68:                                        ; preds = %if.else142  %add69 = add nsw i32 %e.5, 2143  %cmp70 = icmp sge i32 %add69, %i144  br i1 %cmp70, label %if.then71, label %if.end628145 146if.then71:                                        ; preds = %if.else68147  %idxprom73 = sext i32 %add69 to i64148  br label %if.end628149 150if.else78:                                        ; preds = %if.then151  %call = call i32 @g()152  %tobool79 = icmp ne i32 %call, 0153  br i1 %tobool79, label %if.then80, label %if.else123154 155if.then80:                                        ; preds = %if.else78156  %add81 = add nsw i32 %e.0, 3157  %cmp82 = icmp sge i32 %add81, %i158  br i1 %cmp82, label %if.then83, label %if.end87159 160if.then83:                                        ; preds = %if.then80161  %idxprom85 = sext i32 %add81 to i64162  br label %if.end87163 164if.end87:                                         ; preds = %if.then83, %if.then80165  br i1 %cmp82, label %if.then90, label %if.end94166 167if.then90:                                        ; preds = %if.end87168  %idxprom92 = sext i32 %add81 to i64169  br label %if.end94170 171if.end94:                                         ; preds = %if.then90, %if.end87172  br i1 %cmp82, label %if.then97, label %if.end99173 174if.then97:                                        ; preds = %if.end94175  br label %if.end99176 177if.end99:                                         ; preds = %if.then97, %if.end94178  %e.7 = phi i32 [ %add81, %if.then97 ], [ %e.0, %if.end94 ]179  %cmp100 = icmp sge i32 %e.7, %i180  br i1 %cmp100, label %if.then101, label %if.end103181 182if.then101:                                       ; preds = %if.end99183  %inc102 = add nsw i32 %e.7, 1184  br label %if.end103185 186if.end103:                                        ; preds = %if.then101, %if.end99187  %e.8 = phi i32 [ %inc102, %if.then101 ], [ %e.7, %if.end99 ]188  %add104 = add nsw i32 %e.8, 1189  %cmp105 = icmp sge i32 %add104, %i190  br i1 %cmp105, label %if.then106, label %if.end108191 192if.then106:                                       ; preds = %if.end103193  br label %if.end108194 195if.end108:                                        ; preds = %if.then106, %if.end103196  %e.9 = phi i32 [ %add104, %if.then106 ], [ %e.8, %if.end103 ]197  %cmp109 = icmp sge i32 %e.9, %i198  br i1 %cmp109, label %if.then110, label %if.end113199 200if.then110:                                       ; preds = %if.end108201  %idxprom111 = sext i32 %e.9 to i64202  br label %if.end113203 204if.end113:                                        ; preds = %if.then110, %if.end108205  br i1 %cmp109, label %if.then115, label %if.end118206 207if.then115:                                       ; preds = %if.end113208  %idxprom116 = sext i32 %e.9 to i64209  unreachable210 211if.end118:                                        ; preds = %if.end113212  br i1 %cmp109, label %if.then120, label %if.end628213 214if.then120:                                       ; preds = %if.end118215  br label %if.end628216 217if.else123:                                       ; preds = %if.else78218  %call124 = call i32 @g()219  %tobool125 = icmp ne i32 %call124, 0220  br i1 %tobool125, label %if.then126, label %if.end628221 222if.then126:                                       ; preds = %if.else123223  %call127 = call i32 @g()224  %tobool128 = icmp ne i32 %call127, 0225  br i1 %tobool128, label %if.then129, label %if.else164226 227if.then129:                                       ; preds = %if.then126228  %add130 = add nsw i32 %e.0, 1229  %cmp131 = icmp sge i32 %add130, %i230  br i1 %cmp131, label %if.then132, label %if.end134231 232if.then132:                                       ; preds = %if.then129233  br label %if.end134234 235if.end134:                                        ; preds = %if.then132, %if.then129236  %e.10 = phi i32 [ %add130, %if.then132 ], [ %e.0, %if.then129 ]237  %cmp135 = icmp sge i32 %e.10, %i238  br i1 %cmp135, label %if.then136, label %if.end139239 240if.then136:                                       ; preds = %if.end134241  %idxprom137 = sext i32 %e.10 to i64242  br label %if.end139243 244if.end139:                                        ; preds = %if.then136, %if.end134245  br i1 %cmp135, label %if.then141, label %if.end144246 247if.then141:                                       ; preds = %if.end139248  %idxprom142 = sext i32 %e.10 to i64249  br label %if.end144250 251if.end144:                                        ; preds = %if.then141, %if.end139252  br i1 %cmp135, label %if.then146, label %if.end149253 254if.then146:                                       ; preds = %if.end144255  %idxprom147 = sext i32 %e.10 to i64256  br label %if.end149257 258if.end149:                                        ; preds = %if.then146, %if.end144259  br i1 %cmp135, label %if.then151, label %if.else154260 261if.then151:                                       ; preds = %if.end149262  %idxprom152 = sext i32 %e.10 to i64263  br label %if.end160264 265if.else154:                                       ; preds = %if.end149266  %idxprom157 = sext i32 %e.10 to i64267  br label %if.end160268 269if.end160:                                        ; preds = %if.else154, %if.then151270  br i1 %cmp135, label %if.then162, label %if.end628271 272if.then162:                                       ; preds = %if.end160273  unreachable274 275if.else164:                                       ; preds = %if.then126276  %4 = load ptr, ptr @c, align 8277  %tobool165 = icmp ne ptr %4, null278  br i1 %tobool165, label %if.then166, label %if.else195279 280if.then166:                                       ; preds = %if.else164281  %add167 = add nsw i32 %e.0, 1282  %cmp168 = icmp sge i32 %add167, %i283  br i1 %cmp168, label %if.then169, label %if.end173284 285if.then169:                                       ; preds = %if.then166286  %idxprom171 = sext i32 %add167 to i64287  br label %if.end173288 289if.end173:                                        ; preds = %if.then169, %if.then166290  br i1 %cmp168, label %if.then176, label %if.end180291 292if.then176:                                       ; preds = %if.end173293  %idxprom178 = sext i32 %add167 to i64294  unreachable295 296if.end180:                                        ; preds = %if.end173297  br i1 %cmp168, label %if.then183, label %if.end187298 299if.then183:                                       ; preds = %if.end180300  %idxprom185 = sext i32 %add167 to i64301  unreachable302 303if.end187:                                        ; preds = %if.end180304  br i1 %cmp168, label %if.then190, label %if.end628305 306if.then190:                                       ; preds = %if.end187307  br label %if.end628308 309if.else195:                                       ; preds = %if.else164310  %5 = load i32, ptr @d, align 4311  %tobool196 = icmp ne i32 %5, 0312  br i1 %tobool196, label %if.then197, label %if.else205313 314if.then197:                                       ; preds = %if.else195315  %add198 = add nsw i32 %e.0, 1316  %cmp199 = icmp sge i32 %add198, %i317  br i1 %cmp199, label %if.then200, label %if.end628318 319if.then200:                                       ; preds = %if.then197320  %idxprom202 = sext i32 %add198 to i64321  br label %if.end628322 323if.else205:                                       ; preds = %if.else195324  %call206 = call i32 @h()325  %tobool207 = icmp ne i32 %call206, 0326  br i1 %tobool207, label %if.then208, label %if.else217327 328if.then208:                                       ; preds = %if.else205329  %add209 = add nsw i32 %e.0, 1330  %cmp210 = icmp sge i32 %add209, %i331  br i1 %cmp210, label %if.then211, label %if.end215332 333if.then211:                                       ; preds = %if.then208334  %idxprom213 = sext i32 %add209 to i64335  unreachable336 337if.end215:                                        ; preds = %if.then208338  %6 = zext i32 %add209 to i64339  br label %if.end628340 341if.else217:                                       ; preds = %if.else205342  %7 = load ptr, ptr @c, align 8343  %tobool218 = icmp ne ptr %7, null344  br i1 %tobool218, label %if.then219, label %if.else227345 346if.then219:                                       ; preds = %if.else217347  %add220 = add nsw i32 %e.0, 1348  %cmp221 = icmp sge i32 %add220, %i349  br i1 %cmp221, label %if.then222, label %if.end628350 351if.then222:                                       ; preds = %if.then219352  %idxprom224 = sext i32 %add220 to i64353  br label %if.end628354 355if.else227:                                       ; preds = %if.else217356  %call228 = call i32 @g()357  %tobool229 = icmp ne i32 %call228, 0358  br i1 %tobool229, label %if.then230, label %if.else245359 360if.then230:                                       ; preds = %if.else227361  %add231 = add nsw i32 %e.0, 1362  %cmp232 = icmp sge i32 %add231, %i363  br i1 %cmp232, label %if.then233, label %if.end237364 365if.then233:                                       ; preds = %if.then230366  %idxprom235 = sext i32 %add231 to i64367  br label %if.end237368 369if.end237:                                        ; preds = %if.then233, %if.then230370  br i1 %cmp232, label %if.then240, label %if.end628371 372if.then240:                                       ; preds = %if.end237373  %idxprom242 = sext i32 %add231 to i64374  br label %if.end628375 376if.else245:                                       ; preds = %if.else227377  %8 = load ptr, ptr @c, align 8378  %tobool246 = icmp ne ptr %8, null379  br i1 %tobool246, label %if.then247, label %if.else258380 381if.then247:                                       ; preds = %if.else245382  %add248 = add nsw i32 %e.0, 1383  %cmp249 = icmp sge i32 %add248, %i384  br i1 %cmp249, label %if.then250, label %if.end254385 386if.then250:                                       ; preds = %if.then247387  %idxprom252 = sext i32 %add248 to i64388  unreachable389 390if.end254:                                        ; preds = %if.then247391  %9 = zext i32 %add248 to i64392  br label %if.end628393 394if.else258:                                       ; preds = %if.else245395  %10 = load i32, ptr @d, align 4396  %tobool259 = icmp ne i32 %10, 0397  br i1 %tobool259, label %if.then260, label %if.else268398 399if.then260:                                       ; preds = %if.else258400  %add261 = add nsw i32 %e.0, 1401  %cmp262 = icmp sge i32 %add261, %i402  br i1 %cmp262, label %if.then263, label %if.end628403 404if.then263:                                       ; preds = %if.then260405  %idxprom265 = sext i32 %add261 to i64406  br label %if.end628407 408if.else268:                                       ; preds = %if.else258409  %call269 = call i32 @h()410  %tobool270 = icmp ne i32 %call269, 0411  br i1 %tobool270, label %if.then271, label %if.else279412 413if.then271:                                       ; preds = %if.else268414  %add272 = add nsw i32 %e.0, 1415  %cmp273 = icmp sge i32 %add272, %i416  br i1 %cmp273, label %if.then274, label %if.end628417 418if.then274:                                       ; preds = %if.then271419  %idxprom276 = sext i32 %add272 to i64420  br label %if.end628421 422if.else279:                                       ; preds = %if.else268423  %11 = load ptr, ptr @c, align 8424  %tobool280 = icmp ne ptr %11, null425  br i1 %tobool280, label %if.then281, label %if.else287426 427if.then281:                                       ; preds = %if.else279428  %add282 = add nsw i32 %e.0, 2429  %cmp283 = icmp sge i32 %add282, %i430  br i1 %cmp283, label %if.then284, label %if.end628431 432if.then284:                                       ; preds = %if.then281433  br label %if.end628434 435if.else287:                                       ; preds = %if.else279436  %call288 = call i32 @g()437  %tobool289 = icmp ne i32 %call288, 0438  br i1 %tobool289, label %if.then290, label %if.else307439 440if.then290:                                       ; preds = %if.else287441  %12 = load ptr, ptr @c, align 8442  %tobool291 = icmp ne ptr %12, null443  br i1 %tobool291, label %if.then292, label %if.else298444 445if.then292:                                       ; preds = %if.then290446  %add293 = add nsw i32 %e.0, 3447  %cmp294 = icmp sge i32 %add293, %i448  br i1 %cmp294, label %if.then295, label %if.end628449 450if.then295:                                       ; preds = %if.then292451  br label %if.end628452 453if.else298:                                       ; preds = %if.then290454  %add299 = add nsw i32 %e.0, 4455  %cmp300 = icmp sge i32 %add299, %i456  br i1 %cmp300, label %if.then301, label %if.end628457 458if.then301:                                       ; preds = %if.else298459  %idxprom303 = sext i32 %add299 to i64460  br label %if.end628461 462if.else307:                                       ; preds = %if.else287463  %13 = load ptr, ptr @c, align 8464  %tobool308 = icmp ne ptr %13, null465  br i1 %tobool308, label %if.then309, label %if.else324466 467if.then309:                                       ; preds = %if.else307468  %add310 = add nsw i32 %e.0, 1469  %cmp311 = icmp sge i32 %add310, %i470  br i1 %cmp311, label %if.then312, label %if.else316471 472if.then312:                                       ; preds = %if.then309473  %idxprom314 = sext i32 %add310 to i64474  br label %if.end628475 476if.else316:                                       ; preds = %if.then309477  br i1 %arg, label %if.then318, label %if.end628478 479if.then318:                                       ; preds = %if.else316480  %idxprom320 = sext i32 %add310 to i64481  br label %if.end628482 483if.else324:                                       ; preds = %if.else307484  %call325 = call i32 @g()485  %tobool326 = icmp ne i32 %call325, 0486  br i1 %tobool326, label %if.then327, label %if.else475487 488if.then327:                                       ; preds = %if.else324489  %add328 = add nsw i32 %e.0, 2490  %cmp329 = icmp sge i32 %add328, %i491  br i1 %cmp329, label %if.then330, label %if.end332492 493if.then330:                                       ; preds = %if.then327494  br label %if.end332495 496if.end332:                                        ; preds = %if.then330, %if.then327497  %e.11 = phi i32 [ %add328, %if.then330 ], [ %e.0, %if.then327 ]498  %cmp333 = icmp sge i32 %e.11, %i499  br i1 %cmp333, label %if.then334, label %if.end336500 501if.then334:                                       ; preds = %if.end332502  %inc335 = add nsw i32 %e.11, 1503  br label %if.end336504 505if.end336:                                        ; preds = %if.then334, %if.end332506  %e.12 = phi i32 [ %inc335, %if.then334 ], [ %e.11, %if.end332 ]507  %cmp337 = icmp sge i32 %e.12, %i508  br i1 %cmp337, label %if.then338, label %if.end340509 510if.then338:                                       ; preds = %if.end336511  %inc339 = add nsw i32 %e.12, 1512  br label %if.end340513 514if.end340:                                        ; preds = %if.then338, %if.end336515  %e.13 = phi i32 [ %inc339, %if.then338 ], [ %e.12, %if.end336 ]516  %cmp341 = icmp sge i32 %e.13, %i517  br i1 %cmp341, label %if.then342, label %if.end344518 519if.then342:                                       ; preds = %if.end340520  %inc343 = add nsw i32 %e.13, 1521  br label %if.end344522 523if.end344:                                        ; preds = %if.then342, %if.end340524  %e.14 = phi i32 [ %inc343, %if.then342 ], [ %e.13, %if.end340 ]525  %call345 = call i32 @g()526  %tobool346 = icmp ne i32 %call345, 0527  br i1 %tobool346, label %if.then347, label %if.else398528 529if.then347:                                       ; preds = %if.end344530  %cmp348 = icmp sge i32 %e.14, %i531  br i1 %cmp348, label %if.then349, label %if.end352532 533if.then349:                                       ; preds = %if.then347534  %idxprom350 = sext i32 %e.14 to i64535  br label %if.end352536 537if.end352:                                        ; preds = %if.then349, %if.then347538  br i1 %cmp348, label %if.then354, label %if.else357539 540if.then354:                                       ; preds = %if.end352541  %idxprom355 = sext i32 %e.14 to i64542  br label %if.end361543 544if.else357:                                       ; preds = %if.end352545  %idxprom359 = sext i32 %e.14 to i64546  br label %if.end361547 548if.end361:                                        ; preds = %if.else357, %if.then354549  br i1 %cmp348, label %if.then363, label %if.end366550 551if.then363:                                       ; preds = %if.end361552  %idxprom364 = sext i32 %e.14 to i64553  br label %if.end366554 555if.end366:                                        ; preds = %if.then363, %if.end361556  br i1 %cmp348, label %if.then368, label %if.end371557 558if.then368:                                       ; preds = %if.end366559  %idxprom369 = sext i32 %e.14 to i64560  br label %if.end371561 562if.end371:                                        ; preds = %if.then368, %if.end366563  br i1 %cmp348, label %if.then373, label %if.end376564 565if.then373:                                       ; preds = %if.end371566  %idxprom374 = sext i32 %e.14 to i64567  br label %if.end376568 569if.end376:                                        ; preds = %if.then373, %if.end371570  br i1 %cmp348, label %if.then378, label %if.end381571 572if.then378:                                       ; preds = %if.end376573  %idxprom379 = sext i32 %e.14 to i64574  br label %if.end381575 576if.end381:                                        ; preds = %if.then378, %if.end376577  br i1 %cmp348, label %if.then383, label %if.else386578 579if.then383:                                       ; preds = %if.end381580  %idxprom384 = sext i32 %e.14 to i64581  br label %if.end390582 583if.else386:                                       ; preds = %if.end381584  %idxprom388 = sext i32 %e.14 to i64585  br label %if.end390586 587if.end390:                                        ; preds = %if.else386, %if.then383588  %add391 = add nsw i32 %e.14, 1589  %cmp392 = icmp sge i32 %add391, %i590  br i1 %cmp392, label %if.then393, label %if.end628591 592if.then393:                                       ; preds = %if.end390593  %idxprom395 = sext i32 %add391 to i64594  br label %if.end628595 596if.else398:                                       ; preds = %if.end344597  %call399 = call i32 @h()598  %tobool400 = icmp ne i32 %call399, 0599  br i1 %tobool400, label %if.then401, label %if.else409600 601if.then401:                                       ; preds = %if.else398602  %add402 = add nsw i32 %e.14, 1603  %cmp403 = icmp sge i32 %add402, %i604  br i1 %cmp403, label %if.then404, label %if.end628605 606if.then404:                                       ; preds = %if.then401607  %idxprom406 = sext i32 %add402 to i64608  br label %if.end628609 610if.else409:                                       ; preds = %if.else398611  %call410 = call i32 @h()612  %tobool411 = icmp ne i32 %call410, 0613  br i1 %tobool411, label %if.then412, label %if.else420614 615if.then412:                                       ; preds = %if.else409616  %add413 = add nsw i32 %e.14, 1617  %cmp414 = icmp sge i32 %add413, %i618  br i1 %cmp414, label %if.then415, label %if.end628619 620if.then415:                                       ; preds = %if.then412621  %idxprom417 = sext i32 %add413 to i64622  br label %if.end628623 624if.else420:                                       ; preds = %if.else409625  %call421 = call i32 @h()626  %tobool422 = icmp ne i32 %call421, 0627  br i1 %tobool422, label %if.then423, label %if.else431628 629if.then423:                                       ; preds = %if.else420630  %add424 = add nsw i32 %e.14, 3631  %cmp425 = icmp sge i32 %add424, %i632  br i1 %cmp425, label %if.then426, label %if.end628633 634if.then426:                                       ; preds = %if.then423635  %idxprom428 = sext i32 %add424 to i64636  br label %if.end628637 638if.else431:                                       ; preds = %if.else420639  %call432 = call i32 @h()640  %tobool433 = icmp ne i32 %call432, 0641  br i1 %tobool433, label %if.then434, label %if.else440642 643if.then434:                                       ; preds = %if.else431644  %add435 = add nsw i32 %e.14, 1645  %cmp436 = icmp sge i32 %add435, %i646  br i1 %cmp436, label %if.then437, label %if.end628647 648if.then437:                                       ; preds = %if.then434649  br label %if.end628650 651if.else440:                                       ; preds = %if.else431652  %call441 = call i32 @h()653  %tobool442 = icmp ne i32 %call441, 0654  br i1 %tobool442, label %if.then443, label %if.else451655 656if.then443:                                       ; preds = %if.else440657  %tobool444 = icmp ne i32 %e.14, 0658  br i1 %tobool444, label %if.then445, label %if.end628659 660if.then445:                                       ; preds = %if.then443661  %cmp446 = icmp sge i32 %e.14, %i662  br i1 %cmp446, label %if.then447, label %if.end628663 664if.then447:                                       ; preds = %if.then445665  br label %if.end628666 667if.else451:                                       ; preds = %if.else440668  %call452 = call i32 @h()669  %tobool453 = icmp ne i32 %call452, 0670  br i1 %tobool453, label %if.then454, label %if.else460671 672if.then454:                                       ; preds = %if.else451673  %add455 = add nsw i32 %e.14, 1674  %cmp456 = icmp sge i32 %add455, %i675  br i1 %cmp456, label %if.then457, label %if.end628676 677if.then457:                                       ; preds = %if.then454678  br label %if.end628679 680if.else460:                                       ; preds = %if.else451681  %add461 = add nsw i32 %e.14, 2682  %cmp462 = icmp sge i32 %add461, %i683  br i1 %cmp462, label %if.then463, label %if.end628684 685if.then463:                                       ; preds = %if.else460686  %idxprom465 = sext i32 %add461 to i64687  br label %if.end628688 689if.else475:                                       ; preds = %if.else324690  %call476 = call i32 @g()691  %tobool477 = icmp ne i32 %call476, 0692  br i1 %tobool477, label %if.then478, label %if.else509693 694if.then478:                                       ; preds = %if.else475695  %call479 = call i32 @h()696  %tobool480 = icmp ne i32 %call479, 0697  br i1 %tobool480, label %if.then481, label %if.else487698 699if.then481:                                       ; preds = %if.then478700  %add482 = add nsw i32 %e.0, 1701  %cmp483 = icmp sge i32 %add482, %i702  br i1 %cmp483, label %if.then484, label %if.end628703 704if.then484:                                       ; preds = %if.then481705  br label %if.end628706 707if.else487:                                       ; preds = %if.then478708  %call488 = call i32 @h()709  %tobool489 = icmp ne i32 %call488, 0710  br i1 %tobool489, label %if.then490, label %if.else496711 712if.then490:                                       ; preds = %if.else487713  %add491 = add nsw i32 %e.0, 1714  %cmp492 = icmp sge i32 %add491, %i715  br i1 %cmp492, label %if.then493, label %if.end628716 717if.then493:                                       ; preds = %if.then490718  br label %if.end628719 720if.else496:                                       ; preds = %if.else487721  %add497 = add nsw i32 %e.0, 1722  %cmp498 = icmp sge i32 %add497, %i723  br i1 %cmp498, label %if.then499, label %if.else501724 725if.then499:                                       ; preds = %if.else496726  br label %if.end628727 728if.else501:                                       ; preds = %if.else496729  br i1 %arg, label %if.then503, label %if.end628730 731if.then503:                                       ; preds = %if.else501732  br label %if.end628733 734if.else509:                                       ; preds = %if.else475735  %call510 = call i32 @g()736  %tobool511 = icmp ne i32 %call510, 0737  br i1 %tobool511, label %if.then512, label %if.else565738 739if.then512:                                       ; preds = %if.else509740  %add513 = add nsw i32 %e.0, 1741  %cmp514 = icmp sge i32 %add513, %i742  br i1 %cmp514, label %if.then515, label %if.end519743 744if.then515:                                       ; preds = %if.then512745  %idxprom517 = sext i32 %add513 to i64746  br label %if.end519747 748if.end519:                                        ; preds = %if.then515, %if.then512749  br i1 %cmp514, label %if.then522, label %if.end526750 751if.then522:                                       ; preds = %if.end519752  %idxprom524 = sext i32 %add513 to i64753  br label %if.end526754 755if.end526:                                        ; preds = %if.then522, %if.end519756  br i1 %cmp514, label %if.then529, label %if.end533757 758if.then529:                                       ; preds = %if.end526759  %idxprom531 = sext i32 %add513 to i64760  br label %if.end533761 762if.end533:                                        ; preds = %if.then529, %if.end526763  %add534 = add nsw i32 %e.0, 2764  %cmp535 = icmp sge i32 %add534, %i765  br i1 %cmp535, label %if.then536, label %if.end540766 767if.then536:                                       ; preds = %if.end533768  %idxprom538 = sext i32 %add534 to i64769  br label %if.end540770 771if.end540:                                        ; preds = %if.then536, %if.end533772  br i1 %cmp535, label %if.then543, label %if.end547773 774if.then543:                                       ; preds = %if.end540775  %idxprom545 = sext i32 %add534 to i64776  unreachable777 778if.end547:                                        ; preds = %if.end540779  br i1 %cmp514, label %if.then550, label %if.else554780 781if.then550:                                       ; preds = %if.end547782  %idxprom552 = sext i32 %add513 to i64783  br label %if.end559784 785if.else554:                                       ; preds = %if.end547786  %idxprom557 = sext i32 %add513 to i64787  br label %if.end559788 789if.end559:                                        ; preds = %if.else554, %if.then550790  br i1 %cmp514, label %if.then562, label %if.end628791 792if.then562:                                       ; preds = %if.end559793  br label %if.end628794 795if.else565:                                       ; preds = %if.else509796  %call566 = call i32 @g()797  %tobool567 = icmp ne i32 %call566, 0798  br i1 %tobool567, label %if.then568, label %if.else590799 800if.then568:                                       ; preds = %if.else565801  %add569 = add nsw i32 %e.0, 2802  %cmp570 = icmp sge i32 %add569, %i803  br i1 %cmp570, label %if.then571, label %if.else575804 805if.then571:                                       ; preds = %if.then568806  %idxprom573 = sext i32 %add569 to i64807  br label %if.end582808 809if.else575:                                       ; preds = %if.then568810  %idxprom579 = sext i32 %add569 to i64811  br label %if.end582812 813if.end582:                                        ; preds = %if.else575, %if.then571814  %add583 = add nsw i32 %e.0, 1815  %cmp584 = icmp sge i32 %add583, %i816  br i1 %cmp584, label %if.then585, label %if.end628817 818if.then585:                                       ; preds = %if.end582819  %idxprom587 = sext i32 %add583 to i64820  br label %if.end628821 822if.else590:                                       ; preds = %if.else565823  %call591 = call i32 @g()824  %tobool592 = icmp ne i32 %call591, 0825  br i1 %tobool592, label %if.then593, label %if.end628826 827if.then593:                                       ; preds = %if.else590828  %add594 = add nsw i32 %e.0, 1829  %cmp595 = icmp sge i32 %add594, %i830  br i1 %cmp595, label %if.then596, label %if.else600831 832if.then596:                                       ; preds = %if.then593833  %idxprom598 = sext i32 %add594 to i64834  br label %if.end628835 836if.else600:                                       ; preds = %if.then593837  br i1 %arg, label %if.then602, label %if.end628838 839if.then602:                                       ; preds = %if.else600840  %idxprom604 = sext i32 %add594 to i64841  br label %if.end628842 843if.end628:                                        ; preds = %if.then602, %if.else600, %if.then596, %if.else590, %if.then585, %if.end582, %if.then562, %if.end559, %if.then503, %if.else501, %if.then499, %if.then493, %if.then490, %if.then484, %if.then481, %if.then463, %if.else460, %if.then457, %if.then454, %if.then447, %if.then445, %if.then443, %if.then437, %if.then434, %if.then426, %if.then423, %if.then415, %if.then412, %if.then404, %if.then401, %if.then393, %if.end390, %if.then318, %if.else316, %if.then312, %if.then301, %if.else298, %if.then295, %if.then292, %if.then284, %if.then281, %if.then274, %if.then271, %if.then263, %if.then260, %if.end254, %if.then240, %if.end237, %if.then222, %if.then219, %if.end215, %if.then200, %if.then197, %if.then190, %if.end187, %if.end160, %if.else123, %if.then120, %if.end118, %if.then71, %if.else68, %if.then65, %if.end62, %if.then53, %for.cond844  %e.15 = phi i32 [ %e.5, %if.then53 ], [ %add63, %if.then65 ], [ %e.6, %if.end62 ], [ %e.5, %if.then71 ], [ %e.5, %if.else68 ], [ %e.9, %if.then120 ], [ %e.9, %if.end118 ], [ %e.10, %if.end160 ], [ %e.0, %if.then190 ], [ %e.0, %if.end187 ], [ %e.0, %if.then200 ], [ %e.0, %if.then197 ], [ %e.0, %if.end215 ], [ %e.0, %if.then222 ], [ %e.0, %if.then219 ], [ %e.0, %if.then240 ], [ %e.0, %if.end237 ], [ %e.0, %if.end254 ], [ %e.0, %if.then263 ], [ %e.0, %if.then260 ], [ %e.0, %if.then274 ], [ %e.0, %if.then271 ], [ %add282, %if.then284 ], [ %e.0, %if.then281 ], [ %add293, %if.then295 ], [ %e.0, %if.then292 ], [ %e.0, %if.then301 ], [ %e.0, %if.else298 ], [ %e.0, %if.then312 ], [ %e.0, %if.then318 ], [ %e.0, %if.else316 ], [ %e.14, %if.then393 ], [ %e.14, %if.end390 ], [ %e.14, %if.then404 ], [ %e.14, %if.then401 ], [ %e.14, %if.then415 ], [ %e.14, %if.then412 ], [ %e.14, %if.then426 ], [ %e.14, %if.then423 ], [ %add435, %if.then437 ], [ %e.14, %if.then434 ], [ %e.14, %if.then447 ], [ %e.14, %if.then445 ], [ %e.14, %if.then443 ], [ %add455, %if.then457 ], [ %e.14, %if.then454 ], [ %e.14, %if.then463 ], [ %e.14, %if.else460 ], [ %add482, %if.then484 ], [ %e.0, %if.then481 ], [ %add491, %if.then493 ], [ %e.0, %if.then490 ], [ %add497, %if.then499 ], [ %add497, %if.then503 ], [ %e.0, %if.else501 ], [ %add513, %if.then562 ], [ %e.0, %if.end559 ], [ %e.0, %if.then585 ], [ %e.0, %if.end582 ], [ %e.0, %if.then596 ], [ %e.0, %if.then602 ], [ %e.0, %if.else600 ], [ %e.0, %if.else590 ], [ %e.0, %if.else123 ], [ %e.0, %for.cond ]845  br label %for.cond846}847 848declare i32 @g()849 850declare i32 @h()851 852; Function Attrs: nofree nosync nounwind willreturn853declare void @llvm.assume(i1 noundef)854 855