LLVM 20.0.0git
|
#include "Target/ARM/ARMBasicBlockInfo.h"
Public Member Functions | |
ARMBasicBlockUtils (MachineFunction &MF) | |
void | computeAllBlockSizes () |
void | computeBlockSize (MachineBasicBlock *MBB) |
unsigned | getOffsetOf (MachineInstr *MI) const |
getOffsetOf - Return the current offset of the specified machine instruction from the start of the function. | |
unsigned | getOffsetOf (MachineBasicBlock *MBB) const |
void | adjustBBOffsetsAfter (MachineBasicBlock *MBB) |
void | adjustBBSize (MachineBasicBlock *MBB, int Size) |
bool | isBBInRange (MachineInstr *MI, MachineBasicBlock *DestBB, unsigned MaxDisp) const |
isBBInRange - Returns true if the distance between specific MI and specific BB can fit in MI's displacement field. | |
void | insert (unsigned BBNum, BasicBlockInfo BBI) |
void | clear () |
BBInfoVector & | getBBInfo () |
Definition at line 109 of file ARMBasicBlockInfo.h.
|
inline |
Definition at line 118 of file ARMBasicBlockInfo.h.
References llvm::MachineFunction::getInfo(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::MachineFunction::getSubtarget(), isThumbFunction(), and TII.
void llvm::ARMBasicBlockUtils::adjustBBOffsetsAfter | ( | MachineBasicBlock * | MBB | ) |
Definition at line 114 of file ARMBasicBlockInfo.cpp.
References assert(), llvm::dbgs(), llvm::MachineBasicBlock::getAlignment(), llvm::MachineFunction::getBlockNumbered(), llvm::MachineBasicBlock::getName(), llvm::MachineFunction::getName(), llvm::MachineBasicBlock::getNumber(), llvm::MachineFunction::getNumBlockIDs(), llvm::MachineBasicBlock::getParent(), LLVM_DEBUG, and llvm::Offset.
|
inline |
Definition at line 140 of file ARMBasicBlockInfo.h.
References MBB, llvm::SmallVectorBase< Size_T >::Size, and Size.
|
inline |
Definition at line 151 of file ARMBasicBlockInfo.h.
References llvm::SmallVectorImpl< T >::clear().
|
inline |
Definition at line 124 of file ARMBasicBlockInfo.h.
References computeBlockSize(), llvm::MachineFunction::getNumBlockIDs(), MBB, and llvm::SmallVectorImpl< T >::resize().
void llvm::ARMBasicBlockUtils::computeBlockSize | ( | MachineBasicBlock * | MBB | ) |
Definition at line 44 of file ARMBasicBlockInfo.cpp.
References llvm::MachineBasicBlock::back(), llvm::dbgs(), llvm::MachineBasicBlock::empty(), llvm::MachineFunction::ensureAlignment(), llvm::ARMBaseInstrInfo::getInstSizeInBytes(), llvm::MachineBasicBlock::getName(), llvm::MachineBasicBlock::getNumber(), llvm::MachineInstr::getOpcode(), llvm::MachineBasicBlock::getParent(), I, LLVM_DEBUG, llvm::mayOptimizeThumb2Instruction(), MBB, llvm::BasicBlockInfo::PostAlign, llvm::BasicBlockInfo::Size, and llvm::BasicBlockInfo::Unalign.
Referenced by computeAllBlockSizes().
|
inline |
Definition at line 153 of file ARMBasicBlockInfo.h.
|
inline |
Definition at line 134 of file ARMBasicBlockInfo.h.
References MBB.
unsigned llvm::ARMBasicBlockUtils::getOffsetOf | ( | MachineInstr * | MI | ) | const |
getOffsetOf - Return the current offset of the specified machine instruction from the start of the function.
This offset changes as stuff is moved around inside the function.
Definition at line 72 of file ARMBasicBlockInfo.cpp.
References assert(), llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::end(), llvm::ARMBaseInstrInfo::getInstSizeInBytes(), llvm::MachineBasicBlock::getNumber(), I, MBB, MI, and llvm::Offset.
Referenced by isBBInRange().
|
inline |
Definition at line 147 of file ARMBasicBlockInfo.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and llvm::SmallVectorImpl< T >::insert().
bool llvm::ARMBasicBlockUtils::isBBInRange | ( | MachineInstr * | MI, |
MachineBasicBlock * | DestBB, | ||
unsigned | MaxDisp | ||
) | const |
isBBInRange - Returns true if the distance between specific MI and specific BB can fit in MI's displacement field.
Definition at line 90 of file ARMBasicBlockInfo.cpp.
References llvm::dbgs(), llvm::MachineBasicBlock::getNumber(), getOffsetOf(), LLVM_DEBUG, MI, and llvm::printMBBReference().