ProfileData: Don't forward declare ComputeHash and make it static inline

llvm-svn: 206663
This commit is contained in:
Justin Bogner 2014-04-18 22:00:22 +00:00
parent f00daf15f0
commit b5d368e838
3 changed files with 7 additions and 5 deletions

View File

@ -198,7 +198,6 @@ typedef RawInstrProfReader<uint64_t> RawInstrProfReader64;
namespace IndexedInstrProf {
enum class HashT : uint32_t;
uint64_t ComputeHash(HashT Type, StringRef K);
}
/// Trait for lookups into the on-disk hash table for the binary instrprof
@ -218,9 +217,7 @@ public:
static bool EqualKey(StringRef A, StringRef B) { return A == B; }
static StringRef GetInternalKey(StringRef K) { return K; }
hash_value_type ComputeHash(StringRef K) {
return IndexedInstrProf::ComputeHash(HashType, K);
}
hash_value_type ComputeHash(StringRef K);
static std::pair<offset_type, offset_type>
ReadKeyDataLength(const unsigned char *&D) {

View File

@ -36,7 +36,7 @@ static inline uint64_t MD5Hash(StringRef Str) {
return endian::read<uint64_t, little, unaligned>(Result);
}
uint64_t ComputeHash(HashT Type, StringRef K) {
static inline uint64_t ComputeHash(HashT Type, StringRef K) {
switch (Type) {
case HashT::MD5:
return IndexedInstrProf::MD5Hash(K);

View File

@ -243,6 +243,11 @@ template class RawInstrProfReader<uint32_t>;
template class RawInstrProfReader<uint64_t>;
}
InstrProfLookupTrait::hash_value_type
InstrProfLookupTrait::ComputeHash(StringRef K) {
return IndexedInstrProf::ComputeHash(HashType, K);
}
bool IndexedInstrProfReader::hasFormat(const MemoryBuffer &DataBuffer) {
if (DataBuffer.getBufferSize() < 8)
return false;