aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CodeGen/SelectionDAGNodes.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-09-17 18:34:04 +0000
committerChris Lattner <sabre@nondot.org>2007-09-17 18:34:04 +0000
commit76c1b97e4020faace8c95a127f1eab66c278fb58 (patch)
tree9fbf93a4ca6637674eaffdef7af40539b80d9f4e /include/llvm/CodeGen/SelectionDAGNodes.h
parent430817ba181071d20f5c7c3ec4dcd5d8b8e318f4 (diff)
downloadexternal_llvm-76c1b97e4020faace8c95a127f1eab66c278fb58.zip
external_llvm-76c1b97e4020faace8c95a127f1eab66c278fb58.tar.gz
external_llvm-76c1b97e4020faace8c95a127f1eab66c278fb58.tar.bz2
Merge DenseMapKeyInfo & DenseMapValueInfo into DenseMapInfo
Add a new DenseMapInfo::isEqual method to allow clients to redefine the equality predicate used when probing the hash table. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42042 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/SelectionDAGNodes.h')
-rw-r--r--include/llvm/CodeGen/SelectionDAGNodes.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h
index 40a88eb..b3e217b 100644
--- a/include/llvm/CodeGen/SelectionDAGNodes.h
+++ b/include/llvm/CodeGen/SelectionDAGNodes.h
@@ -35,7 +35,7 @@ class GlobalValue;
class MachineBasicBlock;
class MachineConstantPoolValue;
class SDNode;
-template <typename T> struct DenseMapKeyInfo;
+template <typename T> struct DenseMapInfo;
template <typename T> struct simplify_type;
template <typename T> struct ilist_traits;
template<typename NodeTy, typename Traits> class iplist;
@@ -773,13 +773,16 @@ public:
};
-template<> struct DenseMapKeyInfo<SDOperand> {
+template<> struct DenseMapInfo<SDOperand> {
static inline SDOperand getEmptyKey() { return SDOperand((SDNode*)-1, -1U); }
static inline SDOperand getTombstoneKey() { return SDOperand((SDNode*)-1, 0);}
static unsigned getHashValue(const SDOperand &Val) {
return (unsigned)((uintptr_t)Val.Val >> 4) ^
(unsigned)((uintptr_t)Val.Val >> 9) + Val.ResNo;
}
+ static bool isEqual(const SDOperand &LHS, const SDOperand &RHS) {
+ return LHS == RHS;
+ }
static bool isPod() { return true; }
};