[llvm] [RISCV] Enumerate all RecurKind cases in isLegalToVectorizeReduction. nfc (PR #207932)

Mel Chen via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 7 01:47:59 PDT 2026


https://github.com/Mel-Chen created https://github.com/llvm/llvm-project/pull/207932

None

>From 65586e5d7094e0060e9619cce283934e2e0b61b5 Mon Sep 17 00:00:00 2001
From: Mel Chen <mel.chen at sifive.com>
Date: Tue, 7 Jul 2026 01:42:55 -0700
Subject: [PATCH] enum all RecurKind

---
 llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h b/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
index 26c9430b4f751..40c6204ee0380 100644
--- a/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
+++ b/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
@@ -435,6 +435,7 @@ class RISCVTTIImpl final : public BasicTTIImplBase<RISCVTTIImpl> {
     case RecurKind::UMax:
     case RecurKind::FMin:
     case RecurKind::FMax:
+    case RecurKind::FindIV:
     case RecurKind::FindLast:
       return true;
     case RecurKind::AnyOf:
@@ -446,8 +447,18 @@ class RISCVTTIImpl final : public BasicTTIImplBase<RISCVTTIImpl> {
       if (Ty->isBFloatTy() || (Ty->isHalfTy() && !ST->hasVInstructionsF16()))
         return false;
       return true;
-    default:
+    case RecurKind::Mul:
+    case RecurKind::FMul:
+    case RecurKind::FMinNum:
+    case RecurKind::FMaxNum:
+    case RecurKind::FMinimum:
+    case RecurKind::FMaximum:
+    case RecurKind::FMinimumNum:
+    case RecurKind::FMaximumNum:
+    case RecurKind::FAddChainWithSubs:
       return false;
+    case RecurKind::None:
+      llvm_unreachable("Unknown reduction kind.");
     }
   }
 



More information about the llvm-commits mailing list