Commit 2f55123
authored
[VPlan] Handle early exit before forming regions. (NFC) (llvm#138393)
Move early-exit handling up front to original VPlan construction, before
introducing early exits.
This builds on llvm#137709, which
adds exiting edges to the original VPlan, instead of adding exit blocks
later.
This retains the exit conditions early, and means we can handle early
exits before forming regions, without the reliance on VPRecipeBuilder.
Once we retain all exits initially, handling early exits before region
construction ensures the regions are valid; otherwise we would leave
edges exiting the region from elsewhere than the latch.
Removing the reliance on VPRecipeBuilder removes the dependence on
mapping IR BBs to VPBBs and unblocks predication as VPlan transform:
llvm#128420.
Depends on llvm#137709 (included in
PR).
PR: llvm#1383931 parent 3aacd74 commit 2f55123
File tree
5 files changed
+78
-72
lines changed- llvm
- lib/Transforms/Vectorize
- unittests/Transforms/Vectorize
5 files changed
+78
-72
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9383 | 9383 | | |
9384 | 9384 | | |
9385 | 9385 | | |
9386 | | - | |
| 9386 | + | |
| 9387 | + | |
9387 | 9388 | | |
9388 | 9389 | | |
9389 | 9390 | | |
| |||
9584 | 9585 | | |
9585 | 9586 | | |
9586 | 9587 | | |
9587 | | - | |
9588 | | - | |
9589 | | - | |
9590 | | - | |
9591 | | - | |
9592 | | - | |
9593 | 9588 | | |
9594 | 9589 | | |
9595 | 9590 | | |
| |||
9687 | 9682 | | |
9688 | 9683 | | |
9689 | 9684 | | |
9690 | | - | |
| 9685 | + | |
| 9686 | + | |
9691 | 9687 | | |
9692 | 9688 | | |
9693 | 9689 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
460 | 460 | | |
461 | 461 | | |
462 | 462 | | |
463 | | - | |
464 | | - | |
465 | | - | |
466 | | - | |
467 | | - | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
468 | 467 | | |
469 | 468 | | |
470 | 469 | | |
| |||
491 | 490 | | |
492 | 491 | | |
493 | 492 | | |
494 | | - | |
495 | | - | |
496 | | - | |
497 | | - | |
498 | | - | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
499 | 500 | | |
500 | 501 | | |
501 | 502 | | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
502 | 512 | | |
503 | 513 | | |
504 | 514 | | |
505 | 515 | | |
506 | 516 | | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
507 | 520 | | |
508 | 521 | | |
509 | 522 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2461 | 2461 | | |
2462 | 2462 | | |
2463 | 2463 | | |
2464 | | - | |
2465 | | - | |
2466 | | - | |
2467 | | - | |
2468 | | - | |
2469 | | - | |
2470 | | - | |
2471 | | - | |
2472 | | - | |
2473 | | - | |
2474 | | - | |
2475 | | - | |
2476 | | - | |
2477 | | - | |
2478 | | - | |
2479 | | - | |
2480 | | - | |
2481 | | - | |
2482 | | - | |
2483 | | - | |
2484 | | - | |
2485 | | - | |
2486 | | - | |
2487 | | - | |
2488 | | - | |
| 2464 | + | |
| 2465 | + | |
| 2466 | + | |
2489 | 2467 | | |
| 2468 | + | |
| 2469 | + | |
| 2470 | + | |
| 2471 | + | |
| 2472 | + | |
| 2473 | + | |
| 2474 | + | |
| 2475 | + | |
| 2476 | + | |
| 2477 | + | |
| 2478 | + | |
| 2479 | + | |
| 2480 | + | |
| 2481 | + | |
| 2482 | + | |
| 2483 | + | |
| 2484 | + | |
| 2485 | + | |
| 2486 | + | |
| 2487 | + | |
| 2488 | + | |
| 2489 | + | |
| 2490 | + | |
| 2491 | + | |
| 2492 | + | |
| 2493 | + | |
| 2494 | + | |
| 2495 | + | |
2490 | 2496 | | |
2491 | 2497 | | |
2492 | 2498 | | |
2493 | | - | |
| 2499 | + | |
2494 | 2500 | | |
2495 | 2501 | | |
2496 | 2502 | | |
2497 | | - | |
| 2503 | + | |
2498 | 2504 | | |
2499 | 2505 | | |
2500 | 2506 | | |
2501 | 2507 | | |
2502 | | - | |
| 2508 | + | |
2503 | 2509 | | |
2504 | | - | |
| 2510 | + | |
2505 | 2511 | | |
2506 | 2512 | | |
2507 | | - | |
2508 | | - | |
2509 | | - | |
2510 | | - | |
2511 | | - | |
2512 | | - | |
2513 | | - | |
2514 | | - | |
2515 | | - | |
2516 | | - | |
2517 | | - | |
2518 | | - | |
2519 | | - | |
2520 | | - | |
| 2513 | + | |
2521 | 2514 | | |
2522 | 2515 | | |
2523 | 2516 | | |
| |||
2533 | 2526 | | |
2534 | 2527 | | |
2535 | 2528 | | |
2536 | | - | |
| 2529 | + | |
2537 | 2530 | | |
2538 | 2531 | | |
2539 | 2532 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
72 | | - | |
| 72 | + | |
| 73 | + | |
73 | 74 | | |
74 | 75 | | |
75 | 76 | | |
| |||
173 | 174 | | |
174 | 175 | | |
175 | 176 | | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
180 | 181 | | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
185 | 187 | | |
186 | 188 | | |
187 | 189 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| |||
72 | 73 | | |
73 | 74 | | |
74 | 75 | | |
| 76 | + | |
75 | 77 | | |
76 | | - | |
| 78 | + | |
77 | 79 | | |
78 | 80 | | |
79 | 81 | | |
| |||
0 commit comments