[llvm] [VPlan] Run more passes through `RUN_VPLAN_PASS[_NO_VERIFY]` (PR #180580)
Luke Lau via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 11 00:41:28 PST 2026
================
@@ -8417,32 +8427,32 @@ VPlanPtr LoopVectorizationPlanner::tryToBuildVPlan(VFRange &Range) {
OrigLoop, *LI, Legal->getWidestInductionType(),
getDebugLocFromInstOrOperands(Legal->getPrimaryInduction()), PSE);
- VPlanTransforms::createHeaderPhiRecipes(
- *Plan, PSE, *OrigLoop, Legal->getInductionVars(),
- MapVector<PHINode *, RecurrenceDescriptor>(),
+ RUN_VPLAN_PASS_NO_VERIFY(
+ VPlanTransforms::createHeaderPhiRecipes, *Plan, PSE, *OrigLoop,
+ Legal->getInductionVars(), MapVector<PHINode *, RecurrenceDescriptor>(),
SmallPtrSet<const PHINode *, 1>(), SmallPtrSet<PHINode *, 1>(),
/*AllowReordering=*/false);
- VPlanTransforms::handleEarlyExits(*Plan,
- /*HasUncountableExit*/ false);
- VPlanTransforms::addMiddleCheck(*Plan, /*RequiresScalarEpilogue*/ true,
- /*TailFolded*/ false);
+ RUN_VPLAN_PASS_NO_VERIFY(VPlanTransforms::handleEarlyExits, *Plan,
+ /*HasUncountableExit*/ false);
+ RUN_VPLAN_PASS_NO_VERIFY(VPlanTransforms::addMiddleCheck, *Plan,
+ /*RequiresScalarEpilogue*/ true,
+ /*TailFolded*/ false);
- VPlanTransforms::createLoopRegions(*Plan);
+ RUN_VPLAN_PASS_NO_VERIFY(VPlanTransforms::createLoopRegions, *Plan);
for (ElementCount VF : Range)
Plan->addVF(VF);
- if (!VPlanTransforms::tryToConvertVPInstructionsToVPRecipes(*Plan, *TLI))
+ if (!RUN_VPLAN_PASS_NO_VERIFY(
+ VPlanTransforms::tryToConvertVPInstructionsToVPRecipes, *Plan, *TLI))
return nullptr;
// TODO: IVEndValues are not used yet in the native path, to optimize exit
// values.
// TODO: We can't call runPass on the transform yet, due to verifier
// failures.
DenseMap<VPValue *, VPValue *> IVEndValues;
- VPlanTransforms::updateScalarResumePhis(*Plan, IVEndValues);
-
- assert(verifyVPlanIsValid(*Plan) && "VPlan is invalid");
----------------
lukel97 wrote:
I think this assert should still be kept because it runs even when -vplan-verify-each is false?
https://github.com/llvm/llvm-project/pull/180580
More information about the llvm-commits
mailing list