diff options
author | Chris Lattner <sabre@nondot.org> | 2007-09-17 18:34:04 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-09-17 18:34:04 +0000 |
commit | 76c1b97e4020faace8c95a127f1eab66c278fb58 (patch) | |
tree | 9fbf93a4ca6637674eaffdef7af40539b80d9f4e /include/llvm/CodeGen/SelectionDAGNodes.h | |
parent | 430817ba181071d20f5c7c3ec4dcd5d8b8e318f4 (diff) | |
download | external_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.h | 7 |
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; } }; |