[llvm] [VPlan] Move initial skeleton construction earlier (NFC). (PR #150848)

via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 3 09:27:10 PDT 2025


================
@@ -8373,8 +8373,18 @@ void LoopVectorizationPlanner::buildVPlansWithVPRecipes(ElementCount MinVF,
     LVer.prepareNoAliasMetadata();
   }
 
-  auto MaxVFTimes2 = MaxVF * 2;
+  // Create initial VPlan skeleton, having a basic block for the pre-header
+  // which contains SCEV expansions that need to happen before the CFG is
+  // modified; a basic block for the vector pre-header, followed by a region for
+  // the vector loop, followed by the middle basic block, connecting to the
+  // scalar preheader and exit blcoks.
----------------
ayalz wrote:

Better to place the above documentation next to the definition of `addInitialSkeleton()`?

Here it would be good to explain that a "base" VPlan0 is built to serve as a common generic starting point for all candidates built later for specific VF ranges.

https://github.com/llvm/llvm-project/pull/150848


More information about the llvm-commits mailing list