[llvm] [LV] Bundle partial reductions inside VPExpressionRecipe (PR #147302)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 7 00:41:36 PDT 2025


================
@@ -2849,6 +2857,19 @@ InstructionCost VPExpressionRecipe::computeCost(ElementCount VF,
     Opcode = Instruction::Sub;
     LLVM_FALLTHROUGH;
   case ExpressionTypes::ExtMulAccReduction: {
+    if (isa<VPPartialReductionRecipe>(ExpressionRecipes.back())) {
+      auto *Ext0R = cast<VPWidenCastRecipe>(ExpressionRecipes[0]);
+      auto *Ext1R = cast<VPWidenCastRecipe>(ExpressionRecipes[1]);
----------------
fhahn wrote:

Does this work as expected for all test on current main? I think at least in some cases one of the operands may be a constant live-in.

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


More information about the llvm-commits mailing list