27 for (
auto Value : Longs)
30 const uint8_t *Remainder =
reinterpret_cast<const uint8_t *
>(Longs.
end());
35 if (RemainderSize >= 2) {
43 if (RemainderSize == 1) {
44 Result ^= *(Remainder++);
47 const uint32_t toLowerMask = 0x20202020;
48 Result |= toLowerMask;
49 Result ^= (Result >> 11);
51 return Result ^ (Result >> 16);
70 for (uint8_t Item : Buffer) {
76 return Hash * 1664525U + 1013904223U;
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
size_t size() const
size - Get the array size.
ArrayRef< T > slice(size_t N, size_t M) const
slice(n, m) - Chop off the first N elements of the array, and keep M elements in the array.
void update(ArrayRef< uint8_t > Data)
StringRef - Represent a constant reference to a string, i.e.
LLVM Value Representation.
uint32_t hashStringV1(StringRef Str)
uint32_t hashBufferV8(ArrayRef< uint8_t > Data)
uint32_t hashStringV2(StringRef Str)
detail::packed_endian_specific_integral< uint32_t, llvm::endianness::little, unaligned > ulittle32_t
This is an optimization pass for GlobalISel generic memory operations.