Lines Matching +full:block +full:- +full:offset

1 //===-- ARMBasicBlockInfo.h - Basic Block Information -----------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // Utility functions and data structure for computing block size.
11 //===----------------------------------------------------------------------===//
27 /// UnknownPadding - Return the worst case padding that could result from
28 /// unknown offset bits. This does not include alignment padding caused by
29 /// known offset bits.
32 /// @param KnownBits Number of known low offset bits.
35 return Alignment.value() - (1ull << KnownBits); in UnknownPadding()
39 /// BasicBlockInfo - Information about the offset and size of a single
40 /// basic block.
42 /// Offset - Distance from the beginning of the function to the beginning
43 /// of this basic block.
46 /// block. This means that subtracting basic block offsets always gives a
49 /// Because worst case padding is used, the computed offset of an aligned
50 /// block may not actually be aligned.
51 unsigned Offset = 0; member
53 /// Size - Size of the basic block in bytes. If the block contains
57 /// beginning of the block, or from an aligned jump table at the end.
60 /// KnownBits - The number of low bits in Offset that are known to be
61 /// exact. The remaining bits of Offset are an upper bound.
64 /// Unalign - When non-zero, the block contains instructions (inline asm)
69 /// PostAlign - When > 1, the block terminator contains a .align
70 /// directive, so the end of the block is aligned to PostAlign bytes.
75 /// Compute the number of known offset bits internally to this block.
77 /// splitting the block.
80 // If the block size isn't a multiple of the known bits, assume the in internalKnownBits()
82 if (Size & ((1u << Bits) - 1)) in internalKnownBits()
87 /// Compute the offset immediately following this block. If Align is
88 /// specified, return the offset the successor block will get if it has
91 unsigned PO = Offset + Size;
99 /// Compute the number of known low bits of postOffset. If this block
103 /// If LogAlign is given, also consider the alignment of the next block.
121 isThumb = MF.getInfo<ARMFunctionInfo>()->isThumbFunction(); in ARMBasicBlockUtils()
135 return BBInfo[MBB->getNumber()].Offset; in getOffsetOf()
141 BBInfo[MBB->getNumber()].Size += Size; in adjustBBSize()