[llvm] [LV] Add support for cmp reductions with decreasing IVs. (PR #140451)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 27 05:07:10 PDT 2025
================
@@ -269,22 +278,35 @@ class RecurrenceDescriptor {
/// Returns true if recurrece kind is a signed redux kind.
static bool isSignedRecurrenceKind(RecurKind Kind) {
return Kind == RecurKind::SMax || Kind == RecurKind::SMin ||
+ Kind == RecurKind::FindFirstIVSMin ||
Kind == RecurKind::FindLastIVSMax;
}
+ /// Returns true if the recurrence kind is of the form
+ /// select(cmp(),x,y) where one of (x,y) is an increasing or decreasing loop
+ /// induction.
+ static bool isFindIVRecurrenceKind(RecurKind Kind) {
+ return isFindFirstIVRecurrenceKind(Kind) ||
+ isFindLastIVRecurrenceKind(Kind);
+ }
+
/// Returns the type of the recurrence. This type can be narrower than the
/// actual type of the Phi if the recurrence has been type-promoted.
Type *getRecurrenceType() const { return RecurrenceType; }
- /// Returns the sentinel value for FindLastIV recurrences to replace the start
- /// value.
+ /// Returns the sentinel value for FindFirstIV &FindLastIV recurrences to
----------------
fhahn wrote:
Fixed thanks
https://github.com/llvm/llvm-project/pull/140451
More information about the llvm-commits
mailing list