[llvm] [LV] Add support for cmp reductions with decreasing IVs. (PR #140451)
Ramkumar Ramachandra via llvm-commits
llvm-commits at lists.llvm.org
Tue May 27 07:51:49 PDT 2025
================
@@ -1244,12 +1244,16 @@ Value *llvm::createAnyOfReduction(IRBuilderBase &Builder, Value *Src,
Value *llvm::createFindLastIVReduction(IRBuilderBase &Builder, Value *Src,
Value *Start,
const RecurrenceDescriptor &Desc) {
- assert(RecurrenceDescriptor::isFindLastIVRecurrenceKind(
- Desc.getRecurrenceKind()) &&
- "Unexpected reduction kind");
+ assert(
+ RecurrenceDescriptor::isFindIVRecurrenceKind(Desc.getRecurrenceKind()) &&
+ "Unexpected reduction kind");
Value *Sentinel = Desc.getSentinelValue();
Value *MaxRdx = Src->getType()->isVectorTy()
- ? Builder.CreateIntMaxReduce(Src, true)
+ ? (Desc.getRecurrenceKind() == RecurKind::FindLastIV
+ ? Builder.CreateIntMaxReduce(Src, true)
+ : Builder.CreateIntMinReduce(
+ Src, Desc.getRecurrenceKind() ==
+ RecurKind::FindFirstIVSMin))
----------------
artagnon wrote:
This ternary expression reads badly?
https://github.com/llvm/llvm-project/pull/140451
More information about the llvm-commits
mailing list