1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00

Make llvm::djbHash an inline function.

Differential Revision: https://reviews.llvm.org/D43644

llvm-svn: 326625
This commit is contained in:
Rui Ueyama 2018-03-02 22:00:38 +00:00
parent 50d3f5be42
commit b424396cdc
2 changed files with 6 additions and 12 deletions

View File

@ -19,7 +19,11 @@
namespace llvm {
/// The Bernstein hash function used by the DWARF accelerator tables.
uint32_t djbHash(StringRef Buffer, uint32_t H = 5381);
inline uint32_t djbHash(StringRef Buffer, uint32_t H = 5381) {
for (unsigned char C : Buffer.bytes())
H = (H << 5) + H + C;
return H;
}
/// Computes the Bernstein hash after folding the input according to the Dwarf 5
/// standard case folding rules.

View File

@ -19,16 +19,6 @@
using namespace llvm;
static inline uint32_t djbHashChar(unsigned char C, uint32_t H) {
return (H << 5) + H + C;
}
uint32_t llvm::djbHash(StringRef Buffer, uint32_t H) {
for (unsigned char C : Buffer.bytes())
H = djbHashChar(C, H);
return H;
}
static UTF32 chopOneUTF32(StringRef &Buffer) {
UTF32 C;
const UTF8 *const Begin8Const =
@ -86,7 +76,7 @@ uint32_t llvm::caseFoldingDjbHash(StringRef Buffer, uint32_t H) {
// This is by far the most common case, so handle this specially.
if (C >= 'A' && C <= 'Z')
C = 'a' + (C - 'A'); // fold uppercase into lowercase
H = djbHashChar(C, H);
H = (H << 5) + H + C;
Buffer = Buffer.drop_front();
continue;
}