[llvm] 50d4fbc - [ADT] Remove unused IDHash parameter from Equals (NFC) (#219313)

via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 27 20:08:20 PDT 2026


Author: Kazu Hirata
Date: 2026-08-27T20:08:15-07:00
New Revision: 50d4fbcc610e478190408685f02fe5818779c154

URL: https://github.com/llvm/llvm-project/commit/50d4fbcc610e478190408685f02fe5818779c154
DIFF: https://github.com/llvm/llvm-project/commit/50d4fbcc610e478190408685f02fe5818779c154.diff

LOG: [ADT] Remove unused IDHash parameter from Equals (NFC) (#219313)

This patch removes the unused IDHash parameter from several functions.
Now that FoldingSetTrait<SDVTListNode>::Equals no longer checks IDHash,
no implementation of Equals uses this parameter.

Assisted-by: Antigravity

Added: 
    

Modified: 
    llvm/include/llvm/ADT/FoldingSet.h
    llvm/include/llvm/Analysis/ScalarEvolution.h
    llvm/include/llvm/CodeGen/SelectionDAG.h
    llvm/lib/Support/FoldingSet.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/ADT/FoldingSet.h b/llvm/include/llvm/ADT/FoldingSet.h
index ac72f9764a1eb..a3b37c44f28f6 100644
--- a/llvm/include/llvm/ADT/FoldingSet.h
+++ b/llvm/include/llvm/ADT/FoldingSet.h
@@ -126,7 +126,7 @@ template <typename T> struct DefaultFoldingSetTrait {
   // to compute a temporary ID if necessary. The default implementation
   // just calls Profile and does a regular comparison. Implementations
   // can override this to provide more efficient implementations.
-  static inline bool Equals(T &X, const FoldingSetNodeID &ID, unsigned IDHash,
+  static inline bool Equals(T &X, const FoldingSetNodeID &ID,
                             FoldingSetNodeID &TempID);
 };
 
@@ -151,7 +151,7 @@ template <typename T, typename Ctx> struct DefaultContextualFoldingSetTrait {
     X.Profile(ID, Context);
   }
 
-  static inline bool Equals(T &X, const FoldingSetNodeID &ID, unsigned IDHash,
+  static inline bool Equals(T &X, const FoldingSetNodeID &ID,
                             FoldingSetNodeID &TempID, Ctx Context);
 };
 
@@ -350,8 +350,7 @@ class FoldingSetBase : public DebugEpochBase {
     /// Instantiations of the FoldingSet template implement this function to
     /// compare the given node with the given ID.
     bool (*NodeEquals)(const FoldingSetBase *Self, Node *N,
-                       const FoldingSetNodeID &ID, unsigned IDHash,
-                       FoldingSetNodeID &TempID);
+                       const FoldingSetNodeID &ID, FoldingSetNodeID &TempID);
   };
 
 private:
@@ -362,7 +361,7 @@ class FoldingSetBase : public DebugEpochBase {
   /// Compare \p N against \p ID. Out of line to keep FoldingSetNodeID's inline
   /// storage out of the probe loop's frame.
   static bool nodeEquals(const FoldingSetInfo &Info, const FoldingSetBase *Self,
-                         Node *N, const FoldingSetNodeID &ID, unsigned IDHash);
+                         Node *N, const FoldingSetNodeID &ID);
 
   /// Rehash into at least \p MinNumBuckets buckets, rounded up to a power of
   /// two and floored at the constructor's minimum.
@@ -400,15 +399,13 @@ template <class T> class FoldingSetIterator;
 // require the definition of FoldingSetNodeID.
 template <typename T>
 inline bool DefaultFoldingSetTrait<T>::Equals(T &X, const FoldingSetNodeID &ID,
-                                              unsigned /*IDHash*/,
                                               FoldingSetNodeID &TempID) {
   FoldingSetTrait<T>::Profile(X, TempID);
   return TempID == ID;
 }
 template <typename T, typename Ctx>
 inline bool DefaultContextualFoldingSetTrait<T, Ctx>::Equals(
-    T &X, const FoldingSetNodeID &ID, unsigned /*IDHash*/,
-    FoldingSetNodeID &TempID, Ctx Context) {
+    T &X, const FoldingSetNodeID &ID, FoldingSetNodeID &TempID, Ctx Context) {
   ContextualFoldingSetTrait<T, Ctx>::Profile(X, TempID, Context);
   return TempID == ID;
 }
@@ -435,13 +432,12 @@ class FoldingSetImpl : public FoldingSetBase, public Trait::ContextStorage {
         },
         // NodeEquals
         [](const FoldingSetBase *Base, FoldingSetNode *N,
-           const FoldingSetNodeID &ID, unsigned IDHash,
-           FoldingSetNodeID &TempID) {
+           const FoldingSetNodeID &ID, FoldingSetNodeID &TempID) {
           if constexpr (std::is_empty_v<typename Trait::ContextStorage>)
-            return Trait::Equals(*static_cast<T *>(N), ID, IDHash, TempID);
+            return Trait::Equals(*static_cast<T *>(N), ID, TempID);
           else
             return Trait::Equals(
-                *static_cast<T *>(N), ID, IDHash, TempID,
+                *static_cast<T *>(N), ID, TempID,
                 static_cast<const FoldingSetImpl *>(Base)->getContext());
         }};
     return Info;

diff  --git a/llvm/include/llvm/Analysis/ScalarEvolution.h b/llvm/include/llvm/Analysis/ScalarEvolution.h
index a1fef10c3266e..95e545477fa77 100644
--- a/llvm/include/llvm/Analysis/ScalarEvolution.h
+++ b/llvm/include/llvm/Analysis/ScalarEvolution.h
@@ -347,7 +347,7 @@ class SCEV : public FoldingSetNode {
 template <> struct FoldingSetTrait<SCEV> : DefaultFoldingSetTrait<SCEV> {
   static void Profile(const SCEV &X, FoldingSetNodeID &ID) { ID = X.FastID; }
 
-  static bool Equals(const SCEV &X, const FoldingSetNodeID &ID, unsigned IDHash,
+  static bool Equals(const SCEV &X, const FoldingSetNodeID &ID,
                      FoldingSetNodeID &TempID) {
     return ID == X.FastID;
   }
@@ -427,7 +427,7 @@ struct FoldingSetTrait<SCEVPredicate> : DefaultFoldingSetTrait<SCEVPredicate> {
   }
 
   static bool Equals(const SCEVPredicate &X, const FoldingSetNodeID &ID,
-                     unsigned IDHash, FoldingSetNodeID &TempID) {
+                     FoldingSetNodeID &TempID) {
     return ID == X.FastID;
   }
 };

diff  --git a/llvm/include/llvm/CodeGen/SelectionDAG.h b/llvm/include/llvm/CodeGen/SelectionDAG.h
index 5bda87a317d73..325cc171f9a6f 100644
--- a/llvm/include/llvm/CodeGen/SelectionDAG.h
+++ b/llvm/include/llvm/CodeGen/SelectionDAG.h
@@ -129,7 +129,7 @@ template<> struct FoldingSetTrait<SDVTListNode> : DefaultFoldingSetTrait<SDVTLis
   }
 
   static bool Equals(const SDVTListNode &X, const FoldingSetNodeID &ID,
-                     unsigned IDHash, FoldingSetNodeID &TempID) {
+                     FoldingSetNodeID &TempID) {
     return ID == X.FastID;
   }
 };

diff  --git a/llvm/lib/Support/FoldingSet.cpp b/llvm/lib/Support/FoldingSet.cpp
index 4c1eac39ea7b6..0083e77ad95e4 100644
--- a/llvm/lib/Support/FoldingSet.cpp
+++ b/llvm/lib/Support/FoldingSet.cpp
@@ -214,9 +214,9 @@ void FoldingSetBase::reserve(unsigned N) {
 LLVM_ATTRIBUTE_NOINLINE bool
 FoldingSetBase::nodeEquals(const FoldingSetInfo &Info,
                            const FoldingSetBase *Self, Node *N,
-                           const FoldingSetNodeID &ID, unsigned IDHash) {
+                           const FoldingSetNodeID &ID) {
   FoldingSetNodeID TempID;
-  return Info.NodeEquals(Self, N, ID, IDHash, TempID);
+  return Info.NodeEquals(Self, N, ID, TempID);
 }
 
 FoldingSetBase::Node *FoldingSetBase::FindNodeOrInsertPos(
@@ -225,8 +225,7 @@ FoldingSetBase::Node *FoldingSetBase::FindNodeOrInsertPos(
   unsigned Mask = NumBuckets - 1;
   for (unsigned I = IDHash & Mask; Buckets[I]; I = (I + 1) & Mask) {
     Node *N = static_cast<Node *>(Buckets[I]);
-    if (N->getFoldingSetHash() == IDHash &&
-        nodeEquals(Info, this, N, ID, IDHash)) {
+    if (N->getFoldingSetHash() == IDHash && nodeEquals(Info, this, N, ID)) {
       InsertPos = nullptr;
       return N;
     }


        


More information about the llvm-commits mailing list