forked from OSchip/llvm-project
parent
3b8f0cc9fa
commit
75afc7afe8
|
@ -26,7 +26,6 @@
|
|||
#include "llvm/Support/Debug.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include "llvm/Support/ValueHandle.h"
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
#include "llvm/ADT/DenseSet.h"
|
||||
#include "llvm/ADT/STLExtras.h"
|
||||
#include <map>
|
||||
|
@ -309,50 +308,6 @@ namespace {
|
|||
};
|
||||
}
|
||||
|
||||
namespace llvm {
|
||||
template<>
|
||||
struct DenseMapInfo<LVIValueHandle> {
|
||||
typedef DenseMapInfo<Value*> PointerInfo;
|
||||
static inline LVIValueHandle getEmptyKey() {
|
||||
return LVIValueHandle(PointerInfo::getEmptyKey(),
|
||||
static_cast<LazyValueInfoCache*>(0));
|
||||
}
|
||||
static inline LVIValueHandle getTombstoneKey() {
|
||||
return LVIValueHandle(PointerInfo::getTombstoneKey(),
|
||||
static_cast<LazyValueInfoCache*>(0));
|
||||
}
|
||||
static unsigned getHashValue(const LVIValueHandle &Val) {
|
||||
return PointerInfo::getHashValue(Val);
|
||||
}
|
||||
static bool isEqual(const LVIValueHandle &LHS, const LVIValueHandle &RHS) {
|
||||
return LHS == RHS;
|
||||
}
|
||||
};
|
||||
|
||||
template<>
|
||||
struct DenseMapInfo<std::pair<AssertingVH<BasicBlock>, Value*> > {
|
||||
typedef std::pair<AssertingVH<BasicBlock>, Value*> PairTy;
|
||||
typedef DenseMapInfo<AssertingVH<BasicBlock> > APointerInfo;
|
||||
typedef DenseMapInfo<Value*> BPointerInfo;
|
||||
static inline PairTy getEmptyKey() {
|
||||
return std::make_pair(APointerInfo::getEmptyKey(),
|
||||
BPointerInfo::getEmptyKey());
|
||||
}
|
||||
static inline PairTy getTombstoneKey() {
|
||||
return std::make_pair(APointerInfo::getTombstoneKey(),
|
||||
BPointerInfo::getTombstoneKey());
|
||||
}
|
||||
static unsigned getHashValue( const PairTy &Val) {
|
||||
return APointerInfo::getHashValue(Val.first) ^
|
||||
BPointerInfo::getHashValue(Val.second);
|
||||
}
|
||||
static bool isEqual(const PairTy &LHS, const PairTy &RHS) {
|
||||
return APointerInfo::isEqual(LHS.first, RHS.first) &&
|
||||
BPointerInfo::isEqual(LHS.second, RHS.second);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
namespace {
|
||||
/// LazyValueInfoCache - This is the cache kept by LazyValueInfo which
|
||||
/// maintains information about queries across the clients' queries.
|
||||
|
|
Loading…
Reference in New Issue