summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Bogner <mail@justinbogner.com>2014-04-18 22:00:22 +0000
committerJustin Bogner <mail@justinbogner.com>2014-04-18 22:00:22 +0000
commit1c60993799ad7ade9eea6f2603525d2086e90729 (patch)
treeb11a32e54ed5161d816aa853099c403b9519f89e
parent2e3463ec43ab3ffc1c4e07f870f5c9a14279aa17 (diff)
downloadllvm-1c60993799ad7ade9eea6f2603525d2086e90729.tar.gz
llvm-1c60993799ad7ade9eea6f2603525d2086e90729.tar.bz2
llvm-1c60993799ad7ade9eea6f2603525d2086e90729.tar.xz
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
-rw-r--r--include/llvm/ProfileData/InstrProfReader.h5
-rw-r--r--lib/ProfileData/InstrProfIndexed.h2
-rw-r--r--lib/ProfileData/InstrProfReader.cpp5
3 files changed, 7 insertions, 5 deletions
diff --git a/include/llvm/ProfileData/InstrProfReader.h b/include/llvm/ProfileData/InstrProfReader.h
index a9793cf28f..5b0c6257a6 100644
--- a/include/llvm/ProfileData/InstrProfReader.h
+++ b/include/llvm/ProfileData/InstrProfReader.h
@@ -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) {
diff --git a/lib/ProfileData/InstrProfIndexed.h b/lib/ProfileData/InstrProfIndexed.h
index 87eb4c3a02..ede5368ca2 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<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);
diff --git a/lib/ProfileData/InstrProfReader.cpp b/lib/ProfileData/InstrProfReader.cpp
index c8d2c2781c..4f110a5712 100644
--- a/lib/ProfileData/InstrProfReader.cpp
+++ b/lib/ProfileData/InstrProfReader.cpp
@@ -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;