14 #ifndef LLVM_LIB_TARGET_ARM_ARMBASICBLOCKINFO_H
15 #define LLVM_LIB_TARGET_ARM_ARMBASICBLOCKINFO_H
30 if (KnownBits < LogAlign)
31 return (1u << LogAlign) - (1u << KnownBits);
80 if (
Size & ((1u << Bits) - 1))
90 unsigned LA = std::max(
unsigned(
PostAlign), LogAlign);
103 return std::max(std::max(
unsigned(
PostAlign), LogAlign),
unsigned postKnownBits(unsigned LogAlign=0) const
Compute the number of known low bits of postOffset.
unsigned Offset
Offset - Distance from the beginning of the function to the beginning of this basic block...
BasicBlockInfo - Information about the offset and size of a single basic block.
std::size_t countTrailingZeros(T Val, ZeroBehavior ZB=ZB_Width)
Count number of 0's from the least significant bit to the most stopping at the first 1...
unsigned UnknownPadding(unsigned LogAlign, unsigned KnownBits)
UnknownPadding - Return the worst case padding that could result from unknown offset bits...
unsigned Size
Size - Size of the basic block in bytes.
uint8_t Unalign
Unalign - When non-zero, the block contains instructions (inline asm) of unknown size.
uint8_t KnownBits
KnownBits - The number of low bits in Offset that are known to be exact.
unsigned internalKnownBits() const
Compute the number of known offset bits internally to this block.
uint8_t PostAlign
PostAlign - When non-zero, the block terminator contains a .align directive, so the end of the block ...
unsigned postOffset(unsigned LogAlign=0) const
Compute the offset immediately following this block.