|
LLVM 24.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 | |
| Static Public Member Functions inherited from llvm::MachineFunctionInfo | |
| 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 35 of file ARMMachineFunctionInfo.h.
|
default |
|
explicit |
Definition at line 54 of file ARMMachineFunctionInfo.cpp.
References F, GetBranchTargetEnforcement(), GetSignReturnAddress(), and llvm::ARMSubtarget::isMClass().
|
inline |
Definition at line 322 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 65 of file ARMMachineFunctionInfo.cpp.
References ARMFunctionInfo(), and llvm::MachineFunction::cloneInfo().
|
inline |
Definition at line 253 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks(), and duplicateCPV().
|
inline |
Definition at line 185 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 232 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks().
|
inline |
Definition at line 235 of file ARMMachineFunctionInfo.h.
Referenced by getArgumentStackToRestore().
|
inline |
Definition at line 284 of file ARMMachineFunctionInfo.h.
References MBB.
Referenced by llvm::ARMBaseRegisterInfo::shouldCoalesce().
|
inline |
Definition at line 208 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 220 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitEpilogue(), and llvm::Thumb1FrameLowering::emitEpilogue().
|
inline |
Definition at line 219 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitEpilogue().
|
inline |
Definition at line 238 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 260 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 214 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitEpilogue().
|
inline |
Definition at line 218 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitEpilogue().
|
inline |
|
inline |
Definition at line 215 of file ARMMachineFunctionInfo.h.
Referenced by llvm::Thumb1FrameLowering::emitEpilogue().
|
inline |
Definition at line 294 of file ARMMachineFunctionInfo.h.
Referenced by promoteToConstantPool().
|
inline |
Definition at line 206 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 216 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitEpilogue(), and llvm::Thumb1FrameLowering::emitEpilogue().
|
inline |
Definition at line 207 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 217 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitEpilogue(), and llvm::Thumb1FrameLowering::emitEpilogue().
|
inline |
Definition at line 221 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitEpilogue().
|
inline |
Definition at line 203 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::emitPrologue(), llvm::ARMFrameLowering::restoreCalleeSavedRegisters(), and llvm::ARMFrameLowering::spillCalleeSavedRegisters().
|
inline |
Definition at line 249 of file ARMMachineFunctionInfo.h.
Definition at line 275 of file ARMMachineFunctionInfo.h.
References I.
|
inline |
Definition at line 308 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::getCalleeSaves().
|
inline |
Definition at line 297 of file ARMMachineFunctionInfo.h.
Referenced by promoteToConstantPool().
|
inline |
Definition at line 188 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 257 of file ARMMachineFunctionInfo.h.
Referenced by LowerVASTART().
|
inline |
Definition at line 264 of file ARMMachineFunctionInfo.h.
Referenced by llvm::Thumb2InstrInfo::ReplaceTailWithBranchTo().
|
inline |
Definition at line 191 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().
| void ARMFunctionInfo::initializeBaseYamlFields | ( | const yaml::ARMFunctionInfo & | YamlMFI | ) |
Definition at line 23 of file ARMMachineFunctionInfo.cpp.
References llvm::yaml::ARMFunctionInfo::LRSpilled.
|
inline |
Definition at line 245 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 183 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 182 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::assignCalleeSavedSpillSlots(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::emitEpilogue(), llvm::ARMFrameLowering::enableShrinkWrapping(), getMaxFPOffset(), and popRegsFromStack().
|
inline |
Definition at line 197 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMBaseInstrInfo::insertOutlinedCall().
|
inline |
Definition at line 267 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMBaseRegisterInfo::getCalleeSavedRegsViaCopy().
|
inline |
Definition at line 179 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 180 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 178 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMBasicBlockUtils::ARMBasicBlockUtils(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), llvm::ThumbRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), emitAligningInstructions(), llvm::ARMFrameLowering::emitEpilogue(), 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 291 of file ARMMachineFunctionInfo.h.
Referenced by promoteToConstantPool().
Definition at line 270 of file ARMMachineFunctionInfo.h.
References llvm_unreachable.
|
inline |
Definition at line 186 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 233 of file ARMMachineFunctionInfo.h.
References llvm::size().
|
inline |
Definition at line 236 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 212 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 229 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 228 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue().
|
inline |
Definition at line 241 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 223 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue().
|
inline |
Definition at line 227 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue().
|
inline |
Definition at line 201 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 224 of file ARMMachineFunctionInfo.h.
Referenced by 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 225 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 211 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 226 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 230 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitPrologue().
|
inline |
Definition at line 265 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 192 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 268 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 198 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 204 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 307 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 300 of file ARMMachineFunctionInfo.h.
Referenced by promoteToConstantPool().
|
inline |
Definition at line 189 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 195 of file ARMMachineFunctionInfo.h.
Referenced by emitAlignedDPRCS2Spills(), llvm::ARMFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 258 of file ARMMachineFunctionInfo.h.
|
inline |
Definition at line 194 of file ARMMachineFunctionInfo.h.
Referenced by llvm::ARMFrameLowering::emitEpilogue(), and llvm::Thumb1FrameLowering::emitEpilogue().
|
inline |
Definition at line 310 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::ARMSubtarget::getPushPopSplitVariation(), llvm::ARMBaseInstrInfo::insertOutlinedCall(), shouldSignReturnAddress(), and llvm::ARMFrameLowering::spillCalleeSavedRegisters().
Definition at line 314 of file ARMMachineFunctionInfo.h.
Definition at line 305 of file ARMMachineFunctionInfo.h.
Definition at line 304 of file ARMMachineFunctionInfo.h.