[llvm] [VPlan] Run more passes through `RUN_VPLAN_PASS[_NO_VERIFY]` (PR #180580)
Ramkumar Ramachandra via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 11 00:48:12 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.
----------------
artagnon wrote:
Strip this TODO, as it's no longer relevant?
https://github.com/llvm/llvm-project/pull/180580
More information about the llvm-commits
mailing list