================ @@ -2432,12 +2437,40 @@ static void tryToCreateAbstractReductionRecipe(VPReductionRecipe *Red, Red->replaceAllUsesWith(AbstractR); } +/// This function tries to create an abstract recipe from a partial reduction to +/// hide its mul and extends from cost estimation. +static void +tryToCreateAbstractPartialReductionRecipe(VPPartialReductionRecipe *PRed) { ---------------- SamTebbs33 wrote:
At this point we've already created the partial reduction and clamped the range so I don't think we need to do any costing (like `tryToMatchAndCreateMulAccumulateReduction` does with `getMulAccReductionCost`) since we already know it's worthwhile (see `getScaledReductions` in LoopVectorize.cpp). This part of the code just puts the partial reduction inside the abstract recipe, which shouldn't need to consider any costing. https://github.com/llvm/llvm-project/pull/136173 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits