[llvm] [VPlan] Impl VPlan-based pattern match for ExtendedRed and MulAccRed (PR #113903)
Elvis Wang via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 17 18:20:39 PDT 2025
================
@@ -2189,6 +2277,172 @@ void VPlanTransforms::handleUncountableEarlyExit(
LatchExitingBranch->eraseFromParent();
}
+/// This function tries convert extended in-loop reductions to
+/// VPExtendedReductionRecipe and clamp the \p Range if it is beneficial and
+/// valid. The created VPExtendedReductionRecipe must be lower to concrete
+/// recipes before execution.
+static VPExtendedReductionRecipe *
+tryToMatchAndCreateExtendedReduction(VPReductionRecipe *Red, VPCostContext &Ctx,
+ VFRange &Range) {
+ using namespace VPlanPatternMatch;
+
+ Type *RedTy = Ctx.Types.inferScalarType(Red);
+ VPValue *VecOp = Red->getVecOp();
+
+ // Test if using extended-reduction is beneficial and clamp the range.
----------------
ElvisWang123 wrote:
Updated, thanks!
https://github.com/llvm/llvm-project/pull/113903
More information about the llvm-commits
mailing list