13#ifndef LLVM_SUPPORT_CRC_H
14#define LLVM_SUPPORT_CRC_H
38 (DataBytes == 1 || DataBytes == 2 || DataBytes == 4 || DataBytes == 8) &&
39 "Data Bytes out of range.");
42 for (
unsigned I = 0;
I != DataBytes; ++
I) {
45 for (
int J = 0; J != 8; ++J) {
46 Result = (Result >> 1) ^ ((Result & 1) ? Poly : 0);
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
Represent a constant reference to an array (0 or more elements consecutively in memory),...
JamCRC(uint32_t Init=0xFFFFFFFFU)
LLVM_ABI void update(ArrayRef< uint8_t > Data)
This is an optimization pass for GlobalISel generic memory operations.
LLVM_ABI uint32_t crc32(ArrayRef< uint8_t > Data)
constexpr uint32_t calculateReflectedCRC32(uint32_t Crc, uint64_t Data, unsigned DataBytes, uint32_t Poly)