[llvm] [VPlan] Replace VPRegionBlock with explicit CFG before execute (NFCI). (PR #117506)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Mon May 12 04:36:57 PDT 2025
================
@@ -2394,10 +2394,26 @@ void VPlanTransforms::createInterleaveGroups(
void VPlanTransforms::convertToConcreteRecipes(VPlan &Plan,
Type &CanonicalIVTy) {
+ // Replace loop regions with explicity CFG.
+ SmallVector<VPRegionBlock *> LoopRegions;
+ for (VPRegionBlock *R : VPBlockUtils::blocksOnly<VPRegionBlock>(
+ vp_depth_first_deep(Plan.getEntry()))) {
+ if (!R->isReplicator())
+ LoopRegions.push_back(R);
+ }
+ for (VPRegionBlock *R : LoopRegions) {
+ VPBlockBase *Header = R->getEntry();
+ VPBlockBase *Latch = R->getExiting();
+ R->removeRegion();
+ // Add explicit backedge.
+ VPBlockUtils::connectBlocks(Latch, Header);
+ }
+
----------------
fhahn wrote:
Moved to separate function, thanks!
https://github.com/llvm/llvm-project/pull/117506
More information about the llvm-commits
mailing list