[llvm] [LV] Skip sentinel value for FindLastIV reductions when start value is provably less than IV start. (PR #141788)
Ramkumar Ramachandra via llvm-commits
llvm-commits at lists.llvm.org
Thu May 29 01:18:37 PDT 2025
================
@@ -1247,15 +1247,17 @@ Value *llvm::createFindLastIVReduction(IRBuilderBase &Builder, Value *Src,
assert(RecurrenceDescriptor::isFindLastIVRecurrenceKind(
Desc.getRecurrenceKind()) &&
"Unexpected reduction kind");
- Value *Sentinel = Desc.getSentinelValue();
- Value *MaxRdx = Src->getType()->isVectorTy()
+ Value *Result = Src->getType()->isVectorTy()
? Builder.CreateIntMaxReduce(Src, true)
: Src;
// Correct the final reduction result back to the start value if the maximum
// reduction is sentinel value.
- Value *Cmp =
- Builder.CreateCmp(CmpInst::ICMP_NE, MaxRdx, Sentinel, "rdx.select.cmp");
- return Builder.CreateSelect(Cmp, MaxRdx, Start, "rdx.select");
+ if (Value *Sentinel = Desc.getSentinelValue()) {
----------------
artagnon wrote:
Early return?
https://github.com/llvm/llvm-project/pull/141788
More information about the llvm-commits
mailing list