65 if (!MBB->empty() && MBB->back().getOpcode() == ARM::tBR_JTr) {
67 MBB->getParent()->ensureAlignment(2);
72 std::vector<BasicBlockInfo> BBInfo;
This class represents lattice values for constants.
unsigned getNumBlockIDs() const
getNumBlockIDs - Return the number of MBB ID's allocated.
void computeBlockSize(MachineFunction *MF, MachineBasicBlock *MBB, BasicBlockInfo &BBI)
static bool isThumb(const MCSubtargetInfo &STI)
BasicBlockInfo - Information about the offset and size of a single basic block.
const HexagonInstrInfo * TII
unsigned getOpcode() const
Returns the opcode of this MachineInstr.
static bool isThumbFunction(Function *F, Triple::ArchType ModuleArch)
virtual const TargetInstrInfo * getInstrInfo() const
* if(!EatIfPresent(lltok::kw_thread_local)) return false
ParseOptionalThreadLocal := /*empty.
const TargetSubtargetInfo & getSubtarget() const
getSubtarget - Return the subtarget for which this machine code is being compiled.
static bool mayOptimizeThumb2Instruction(const MachineInstr *MI)
unsigned getInstSizeInBytes(const MachineInstr &MI) const override
GetInstSize - Returns the size of the specified MachineInstr.
Ty * getInfo()
getInfo - Keep track of various per-function pieces of information for backends that would like to do...
unsigned Size
Size - Size of the basic block in bytes.
Representation of each machine instruction.
uint8_t Unalign
Unalign - When non-zero, the block contains instructions (inline asm) of unknown size.
ARMFunctionInfo - This class is derived from MachineFunctionInfo and contains private ARM-specific in...
uint8_t PostAlign
PostAlign - When non-zero, the block terminator contains a .align directive, so the end of the block ...
std::vector< BasicBlockInfo > computeAllBlockSizes(MachineFunction *MF)