Skip to content

Commit 820edb5

Browse files
committed
Use xor as mixing function
1 parent 9cd0b83 commit 820edb5

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

llvm/include/llvm/ADT/DenseMapInfo.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,8 @@ template<> struct DenseMapInfo<unsigned long> {
140140
if constexpr (sizeof(Val) == 4)
141141
return DenseMapInfo<unsigned>::getHashValue(Val);
142142
else
143-
return detail::combineHashValue(
144-
DenseMapInfo<unsigned>::getHashValue(Val),
145-
DenseMapInfo<unsigned>::getHashValue(Val >> 32));
143+
return DenseMapInfo<unsigned>::getHashValue(Val) ^
144+
DenseMapInfo<unsigned>::getHashValue(Val >> 32);
146145
}
147146

148147
static bool isEqual(const unsigned long& LHS, const unsigned long& RHS) {
@@ -156,9 +155,8 @@ template<> struct DenseMapInfo<unsigned long long> {
156155
static inline unsigned long long getTombstoneKey() { return ~0ULL - 1ULL; }
157156

158157
static unsigned getHashValue(const unsigned long long& Val) {
159-
return detail::combineHashValue(
160-
DenseMapInfo<unsigned>::getHashValue(Val),
161-
DenseMapInfo<unsigned>::getHashValue(Val >> 32));
158+
return DenseMapInfo<unsigned>::getHashValue(Val) ^
159+
DenseMapInfo<unsigned>::getHashValue(Val >> 32);
162160
}
163161

164162
static bool isEqual(const unsigned long long& LHS,

0 commit comments

Comments
 (0)