[llvm] [LV] Bundle partial reductions inside VPExpressionRecipe (PR #147302)
Sam Tebbs via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 6 04:15:41 PDT 2025
================
@@ -3520,16 +3532,29 @@ tryToMatchAndCreateMulAccumulateReduction(VPReductionRecipe *Red,
// Clamp the range if using multiply-accumulate-reduction is profitable.
auto IsMulAccValidAndClampRange =
- [&](bool isZExt, VPWidenRecipe *Mul, VPWidenCastRecipe *Ext0,
- VPWidenCastRecipe *Ext1, VPWidenCastRecipe *OuterExt) -> bool {
+ [&](VPWidenRecipe *Mul, VPWidenCastRecipe *Ext0, VPWidenCastRecipe *Ext1,
+ VPWidenCastRecipe *OuterExt) -> bool {
return LoopVectorizationPlanner::getDecisionAndClampRange(
[&](ElementCount VF) {
+ if (IsPartialReduction) {
+ // The VF ranges have already been clamped for a partial reduction
+ // and its existence confirms that it's valid, so we don't need to
+ // perform any cost checks or more clamping.
----------------
SamTebbs33 wrote:
Good idea, done.
https://github.com/llvm/llvm-project/pull/147302
More information about the llvm-commits
mailing list