[llvm] [VPlan] Dispatch to multiple exit blocks via middle blocks. (PR #112138)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Sat Nov 23 11:27:56 PST 2024
================
@@ -3831,12 +3832,16 @@ class VPlan {
/// whether to execute the scalar tail loop or the exit block from the loop
/// latch.
const VPBasicBlock *getMiddleBlock() const {
- return cast<VPBasicBlock>(getVectorLoopRegion()->getSingleSuccessor());
+ return cast<VPBasicBlock>(getScalarPreheader()->getSinglePredecessor());
}
VPBasicBlock *getMiddleBlock() {
- return cast<VPBasicBlock>(getVectorLoopRegion()->getSingleSuccessor());
+ return cast<VPBasicBlock>(getScalarPreheader()->getSinglePredecessor());
}
+ /// Return the exit blocks of the VPlan, that is leaf nodes except the scalar
+ /// header.
+ auto getExitBlocks();
----------------
fhahn wrote:
(should be resolved after landing https://github.com/llvm/llvm-project/pull/115066)
https://github.com/llvm/llvm-project/pull/112138
More information about the llvm-commits
mailing list