[llvm] [LV][EVL] Emit vp.merge intrinsic to enable out-loop reduction in EVL vectorization. (PR #101641)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 25 11:36:18 PDT 2024
================
@@ -9386,10 +9397,8 @@ void LoopVectorizationPlanner::adjustRecipesForReductions(
cast<VPInstruction>(&U)->getOpcode() ==
VPInstruction::ComputeReductionResult;
});
- if (PreferPredicatedReductionSelect ||
- TTI.preferPredicatedReductionSelect(
- PhiR->getRecurrenceDescriptor().getOpcode(), PhiTy,
- TargetTransformInfo::ReductionFlags()))
+ if (CM.usePredicatedReductionSelect(
+ PhiR->getRecurrenceDescriptor().getOpcode(), PhiTy))
----------------
fhahn wrote:
At the moment, everything EVL related is applied during the transform that introduces EVL recipes; one potential issue is that we assume EVL is used here, but the transform may not apply.
Don't have any strong preferences, doing it later indeed seems to require some extra work
https://github.com/llvm/llvm-project/pull/101641
More information about the llvm-commits
mailing list