45 using namespace support;
47 static uint64_t
rotl64(uint64_t
X,
size_t R) {
48 return (X << R) | (X >> (64 - R));
51 static const uint64_t
PRIME64_1 = 11400714785074694791ULL;
52 static const uint64_t
PRIME64_2 = 14029467366897019727ULL;
53 static const uint64_t
PRIME64_3 = 1609587929392839161ULL;
54 static const uint64_t
PRIME64_4 = 9650029242287828579ULL;
55 static const uint64_t
PRIME64_5 = 2870177450012600261ULL;
57 static uint64_t
round(uint64_t Acc, uint64_t Input) {
72 size_t Len = Data.
size();
75 const unsigned char *
const BEnd = Data.
bytes_end();
79 const unsigned char *
const Limit = BEnd - 32;
82 uint64_t V3 = Seed + 0;
106 H64 += (uint64_t)Len;
108 while (P + 8 <= BEnd) {
static const uint64_t PRIME64_4
static GCMetadataPrinterRegistry::Add< ErlangGCPrinter > X("erlang", "erlang-compatible garbage collector")
static const uint64_t PRIME64_2
This class represents lattice values for constants.
const unsigned char * bytes_end() const
static uint64_t rotl64(uint64_t X, size_t R)
LLVM_NODISCARD LLVM_ATTRIBUTE_ALWAYS_INLINE size_t size() const
size - Get the string size.
uint64_t xxHash64(llvm::StringRef Data)
static uint64_t round(uint64_t Acc, uint64_t Input)
static const uint64_t PRIME64_1
size_t size() const
size - Get the array size.
static uint64_t mergeRound(uint64_t Acc, uint64_t Val)
static const uint64_t PRIME64_5
const unsigned char * bytes_begin() const
uint64_t read64le(const void *P)
uint32_t read32le(const void *P)
static cl::opt< unsigned long long > Seed("rng-seed", cl::value_desc("seed"), cl::Hidden, cl::desc("Seed for the random number generator"), cl::init(0))
static const uint64_t PRIME64_3
StringRef - Represent a constant reference to a string, i.e.