Go to the documentation of this file.
24 if (
auto EC = Stream.readInteger(NumWords))
28 "Expected hash table number of words"));
32 if (
auto EC = Stream.readInteger(
Word))
35 "Expected hash table word"));
36 for (
unsigned Idx = 0; Idx < 32; ++Idx)
37 if (
Word & (1U << Idx))
38 V.
set((
I * 32) + Idx);
45 constexpr
int BitsPerWord = 8 *
sizeof(
uint32_t);
53 "Could not write linear map number of words"));
58 for (
uint32_t WordIdx = 0; WordIdx < 32; ++WordIdx, ++Idx) {
60 Word |= (1 << WordIdx);
65 "Could not write linear map word"));
uint64_t alignTo(uint64_t Size, Align A)
Returns a multiple of A needed to store Size bytes.
Error readSparseBitVector(BinaryStreamReader &Stream, SparseBitVector<> &V)
This is an optimization pass for GlobalISel generic memory operations.
Error writeInteger(T Value)
Write the integer Value to the underlying stream in the specified endianness.
Error writeSparseBitVector(BinaryStreamWriter &Writer, SparseBitVector<> &Vec)
Provides write only access to a subclass of WritableBinaryStream.
static ErrorSuccess success()
Create a success value.
Provides read only access to a subclass of BinaryStream.
compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional move
bool test(unsigned Idx) const
Error joinErrors(Error E1, Error E2)
Concatenate errors.
support::ulittle32_t Word
Lightweight error class with error context and mandatory checking.