[llvm] [LV] Support argmin/argmax with strict predicates. (PR #170223)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 23 07:24:51 PST 2025
================
@@ -1203,33 +1328,42 @@ bool VPlanTransforms::handleMultiUseReductions(VPlan &Plan) {
FindIVPhiR->getRecurrenceKind()))
return false;
+ assert(!FindIVPhiR->isInLoop() && !FindIVPhiR->isOrdered() &&
+ "cannot handle inloop/ordered reductions yet");
+
// TODO: Support cases where IVOp is the IV increment.
if (!match(IVOp, m_TruncOrSelf(m_VPValue(IVOp))) ||
!isa<VPWidenIntOrFpInductionRecipe>(IVOp))
return false;
- CmpInst::Predicate RdxPredicate = [RdxKind]() {
+ // Check if the predicate is compatible with the reduction kind.
+ bool IsValidPredicate = [RdxKind, Pred]() {
----------------
ayalz wrote:
```suggestion
bool IsValidKindPred = [RdxKind, Pred]() {
```
https://github.com/llvm/llvm-project/pull/170223
More information about the llvm-commits
mailing list