Compute hashes directly with hash_combine instead of taking a detour through FoldingSetNodeID.

llvm-svn: 154495
This commit is contained in:
Benjamin Kramer 2012-04-11 14:06:39 +00:00
parent 372cf15125
commit 7a426b5f2e
2 changed files with 6 additions and 11 deletions

View File

@ -21,7 +21,7 @@
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/Hashing.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Config/config.h"
@ -1361,12 +1361,10 @@ namespace llvm {
return CIEKey::getTombstoneKey();
}
static unsigned getHashValue(const CIEKey &Key) {
FoldingSetNodeID ID;
ID.AddPointer(Key.Personality);
ID.AddInteger(Key.PersonalityEncoding);
ID.AddInteger(Key.LsdaEncoding);
ID.AddBoolean(Key.IsSignalFrame);
return ID.ComputeHash();
return static_cast<unsigned>(hash_combine(Key.Personality,
Key.PersonalityEncoding,
Key.LsdaEncoding,
Key.IsSignalFrame));
}
static bool isEqual(const CIEKey &LHS,
const CIEKey &RHS) {

View File

@ -173,10 +173,7 @@ DebugLoc DenseMapInfo<DebugLoc>::getTombstoneKey() {
}
unsigned DenseMapInfo<DebugLoc>::getHashValue(const DebugLoc &Key) {
FoldingSetNodeID ID;
ID.AddInteger(Key.LineCol);
ID.AddInteger(Key.ScopeIdx);
return ID.ComputeHash();
return static_cast<unsigned>(hash_combine(Key.LineCol, Key.ScopeIdx));
}
bool DenseMapInfo<DebugLoc>::isEqual(const DebugLoc &LHS, const DebugLoc &RHS) {