From: Justin Bogner Date: Fri, 18 Apr 2014 22:00:22 +0000 (+0000) Subject: ProfileData: Don't forward declare ComputeHash and make it static inline X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=1c60993799ad7ade9eea6f2603525d2086e90729;p=oota-llvm.git ProfileData: Don't forward declare ComputeHash and make it static inline git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206663 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ProfileData/InstrProfReader.h b/include/llvm/ProfileData/InstrProfReader.h index a9793cf28f2..5b0c6257a63 100644 --- a/include/llvm/ProfileData/InstrProfReader.h +++ b/include/llvm/ProfileData/InstrProfReader.h @@ -198,7 +198,6 @@ typedef RawInstrProfReader 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 ReadKeyDataLength(const unsigned char *&D) { diff --git a/lib/ProfileData/InstrProfIndexed.h b/lib/ProfileData/InstrProfIndexed.h index 87eb4c3a027..ede5368ca2c 100644 --- a/lib/ProfileData/InstrProfIndexed.h +++ b/lib/ProfileData/InstrProfIndexed.h @@ -36,7 +36,7 @@ static inline uint64_t MD5Hash(StringRef Str) { return endian::read(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); diff --git a/lib/ProfileData/InstrProfReader.cpp b/lib/ProfileData/InstrProfReader.cpp index c8d2c2781c7..4f110a57122 100644 --- a/lib/ProfileData/InstrProfReader.cpp +++ b/lib/ProfileData/InstrProfReader.cpp @@ -243,6 +243,11 @@ template class RawInstrProfReader; template class RawInstrProfReader; } +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;