[llvm] [GlobalISel][MatchTable] Fix RTTI of Imm/ImmPredicate classes (PR #197142)

Pierre van Houtryve via llvm-commits llvm-commits at lists.llvm.org
Tue May 12 05:12:39 PDT 2026


https://github.com/Pierre-vh updated https://github.com/llvm/llvm-project/pull/197142

>From 1ba6ef2ac9388645540232b09cc9ec8dae547141 Mon Sep 17 00:00:00 2001
From: pvanhout <pierre.vanhoutryve at amd.com>
Date: Tue, 5 May 2026 14:19:10 +0200
Subject: [PATCH] [GlobalISel][MatchTable] Fix RTTI of Imm/ImmPredicate classes

---
 .../Common/GlobalISel/GlobalISelMatchTable.h         | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h b/llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
index ad02b1adb58b8..543fd0a457939 100644
--- a/llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
+++ b/llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
@@ -843,7 +843,6 @@ class PredicateMatcher {
     IPM_Opcode,
     IPM_NumOperands,
     IPM_ImmPredicate,
-    IPM_Imm,
     IPM_AtomicOrderingMMO,
     IPM_MemoryLLTSize,
     IPM_MemoryVsLLTSize,
@@ -854,7 +853,10 @@ class PredicateMatcher {
     IPM_OneUse,
     IPM_GenericPredicate,
     IPM_MIFlags,
+
     OPM_LeafPredicate,
+    OPM_ImmPredicate,
+    OPM_Imm,
     OPM_SameOperand,
     OPM_ComplexPattern,
     OPM_IntrinsicID,
@@ -1199,10 +1201,10 @@ class MBBOperandMatcher : public OperandPredicateMatcher {
 class ImmOperandMatcher : public OperandPredicateMatcher {
 public:
   ImmOperandMatcher(unsigned InsnVarID, unsigned OpIdx)
-      : OperandPredicateMatcher(IPM_Imm, InsnVarID, OpIdx) {}
+      : OperandPredicateMatcher(OPM_Imm, InsnVarID, OpIdx) {}
 
   static bool classof(const PredicateMatcher *P) {
-    return P->getKind() == IPM_Imm;
+    return P->getKind() == OPM_Imm;
   }
 
   void emitPredicateOpcodes(MatchTable &Table,
@@ -1311,7 +1313,7 @@ class OperandImmPredicateMatcher : public OperandPredicateMatcher {
 public:
   OperandImmPredicateMatcher(unsigned InsnVarID, unsigned OpIdx,
                              const TreePredicateFn &Predicate)
-      : OperandPredicateMatcher(IPM_ImmPredicate, InsnVarID, OpIdx),
+      : OperandPredicateMatcher(OPM_ImmPredicate, InsnVarID, OpIdx),
         Predicate(Predicate) {}
 
   bool isIdentical(const PredicateMatcher &B) const override {
@@ -1322,7 +1324,7 @@ class OperandImmPredicateMatcher : public OperandPredicateMatcher {
   }
 
   static bool classof(const PredicateMatcher *P) {
-    return P->getKind() == IPM_ImmPredicate;
+    return P->getKind() == OPM_ImmPredicate;
   }
 
   void emitPredicateOpcodes(MatchTable &Table,



More information about the llvm-commits mailing list