LLVM 18.0.0git
|
ARMFunctionInfo - This class is derived from MachineFunctionInfo and contains private ARM-specific information for each MachineFunction. More...
#include "Target/ARM/ARMMachineFunctionInfo.h"
Public Attributes | |
DenseMap< unsigned, unsigned > | EHPrologueRemappedRegs |
DenseMap< unsigned, unsigned > | EHPrologueOffsetInRegs |
Additional Inherited Members | |
![]() | |
template<typename FuncInfoTy , typename SubtargetTy = TargetSubtargetInfo> | |
static FuncInfoTy * | create (BumpPtrAllocator &Allocator, const Function &F, const SubtargetTy *STI) |
Factory function: default behavior is to call new using the supplied allocator. | |
template<typename Ty > | |
static Ty * | create (BumpPtrAllocator &Allocator, const Ty &MFI) |
ARMFunctionInfo - This class is derived from MachineFunctionInfo and contains private ARM-specific information for each MachineFunction.
Definition at line 29 of file ARMMachineFunctionInfo.h.
|
default |
|
explicit |
Definition at line 63 of file ARMMachineFunctionInfo.cpp.
References F, GetSignReturnAddress(), and llvm::ARMSubtarget::isMClass().
|
inline |
Definition at line 295 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMBaseInstrInfo::getOutliningCandidateInfo().
|
overridevirtual |
Make a functionally equivalent copy of this MachineFunctionInfo in MF
.
This requires remapping MachineBasicBlock references from the original parent to values in the new function. Targets may assume that virtual register and frame index values are preserved in the new function.
Reimplemented from llvm::MachineFunctionInfo.
Definition at line 74 of file ARMMachineFunctionInfo.cpp.
References llvm::MachineFunction::cloneInfo().
|
inline |
Definition at line 226 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks(), and duplicateCPV().
|
inline |
Definition at line 169 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::emitEpilogue(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), getMaxFPOffset(), llvm::ARMFrameLowering::restoreCalleeSavedRegisters(), and llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters().
|
inline |
Definition at line 212 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks().
|
inline |
Definition at line 215 of file ARMMachineFunctionInfo.h.
Referenced by getArgumentStackToRestore().
|
inline |
Definition at line 252 of file ARMMachineFunctionInfo.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), and MBB.
Referenced by llvm::ARMBaseRegisterInfo::shouldCoalesce().
|
inline |
Definition at line 192 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 203 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitEpilogue(), and llvm::Thumb1FrameLowering::emitEpilogue().
|
inline |
Definition at line 202 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitEpilogue().
|
inline |
Definition at line 198 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitEpilogue().
|
inline |
|
inline |
Definition at line 199 of file ARMMachineFunctionInfo.h.
Referenced by llvm::Thumb1FrameLowering::emitEpilogue().
|
inline |
Definition at line 267 of file ARMMachineFunctionInfo.h.
Referenced by promoteToConstantPool(), and llvm::ARMAsmPrinter::runOnMachineFunction().
|
inline |
Definition at line 190 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 200 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitEpilogue(), and llvm::Thumb1FrameLowering::emitEpilogue().
|
inline |
Definition at line 191 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 201 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitEpilogue(), and llvm::Thumb1FrameLowering::emitEpilogue().
|
inline |
Definition at line 187 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue(), llvm::ARMFrameLowering::restoreCalleeSavedRegisters(), and llvm::ARMFrameLowering::spillCalleeSavedRegisters().
|
inline |
Definition at line 222 of file ARMMachineFunctionInfo.h.
Definition at line 244 of file ARMMachineFunctionInfo.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), and I.
|
inline |
Definition at line 281 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::getCalleeSaves().
|
inline |
Definition at line 270 of file ARMMachineFunctionInfo.h.
Referenced by promoteToConstantPool().
|
inline |
Definition at line 172 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 230 of file ARMMachineFunctionInfo.h.
Referenced by LowerVASTART().
|
inline |
Definition at line 233 of file ARMMachineFunctionInfo.h.
Referenced by llvm::Thumb2InstrInfo::ReplaceTailWithBranchTo().
|
inline |
Definition at line 175 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::emitEpilogue(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), estimateRSStackSizeLimit(), and llvm::ARMFrameLowering::ResolveFrameIndexReference().
|
inline |
Definition at line 218 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 167 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 166 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::assignCalleeSavedSpillSlots(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::emitEpilogue(), llvm::ARMAsmPrinter::emitFunctionEntryLabel(), llvm::ARMFrameLowering::enableShrinkWrapping(), getMaxFPOffset(), and popRegsFromStack().
|
inline |
Definition at line 181 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMBaseInstrInfo::insertOutlinedCall().
|
inline |
Definition at line 236 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMBaseRegisterInfo::getCalleeSavedRegs(), and llvm::ARMBaseRegisterInfo::getCalleeSavedRegsViaCopy().
|
inline |
Definition at line 163 of file ARMMachineFunctionInfo.h.
Referenced by canSpillOnFrameIndexAccess(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), emitAligningInstructions(), llvm::ARMFrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitPrologue(), getMaxFPOffset(), llvm::ARMBaseRegisterInfo::hasBasePointer(), llvm::ARMBaseInstrInfo::isFunctionSafeToOutlineFrom(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), llvm::ARMBaseRegisterInfo::needsFrameBaseReg(), and llvm::ARMBaseRegisterInfo::resolveFrameIndex().
|
inline |
Definition at line 164 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::determineCalleeSaves(), llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), llvm::ARMBaseRegisterInfo::hasBasePointer(), llvm::ARMBaseInstrInfo::insertBranch(), llvm::ARMBaseInstrInfo::isPredicable(), llvm::ARMBaseRegisterInfo::resolveFrameIndex(), and llvm::ARMFrameLowering::ResolveFrameIndexReference().
|
inline |
Definition at line 162 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::determineCalleeSaves(), llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), llvm::ThumbRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), emitAligningInstructions(), llvm::ARMFrameLowering::emitEpilogue(), llvm::ARMAsmPrinter::emitFunctionEntryLabel(), llvm::ARMAsmPrinter::emitJumpTableAddrs(), llvm::ARMFrameLowering::emitPrologue(), llvm::ARMBaseInstrInfo::getInstSizeInBytes(), llvm::ARMBaseInstrInfo::insertBranch(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), llvm::ARMBaseRegisterInfo::needsFrameBaseReg(), llvm::ARMBaseRegisterInfo::resolveFrameIndex(), llvm::ARMFrameLowering::ResolveFrameIndexReference(), llvm::ARMFrameLowering::restoreCalleeSavedRegisters(), and llvm::ARMFrameLowering::spillCalleeSavedRegisters().
|
inline |
Indicate to the backend that GV
has had its storage changed to inside a constant pool.
This means it no longer needs to be emitted as a global variable.
Definition at line 264 of file ARMMachineFunctionInfo.h.
References llvm::SmallPtrSetImpl< PtrType >::insert().
Referenced by promoteToConstantPool().
Definition at line 239 of file ARMMachineFunctionInfo.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), and llvm_unreachable.
|
inline |
Definition at line 170 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 213 of file ARMMachineFunctionInfo.h.
References llvm::size().
|
inline |
Definition at line 216 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 196 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 210 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 209 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue().
|
inline |
Definition at line 205 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue().
|
inline |
Definition at line 185 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 206 of file ARMMachineFunctionInfo.h.
Referenced by llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 194 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 207 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 195 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 208 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 234 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 176 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 237 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 182 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 188 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 280 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 273 of file ARMMachineFunctionInfo.h.
Referenced by promoteToConstantPool().
|
inline |
Definition at line 173 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 179 of file ARMMachineFunctionInfo.h.
Referenced by emitAlignedDPRCS2Spills(), llvm::ARMFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 231 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 178 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitEpilogue(), and llvm::Thumb1FrameLowering::emitEpilogue().
|
inline |
Definition at line 283 of file ARMMachineFunctionInfo.h.
References shouldSignReturnAddress().
Referenced by llvm::ARMFrameLowering::assignCalleeSavedSpillSlots(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitPrologue(), llvm::ARMFrameLowering::enableShrinkWrapping(), llvm::ARMBaseInstrInfo::getOutliningCandidateInfo(), llvm::ARMBaseInstrInfo::insertOutlinedCall(), shouldSignReturnAddress(), llvm::ARMFrameLowering::spillCalleeSavedRegisters(), and llvm::ARMSubtarget::splitFramePushPop().
Definition at line 287 of file ARMMachineFunctionInfo.h.
Definition at line 278 of file ARMMachineFunctionInfo.h.
Definition at line 277 of file ARMMachineFunctionInfo.h.