LLVM 17.0.0git
|
AArch64FunctionInfo - This class is derived from MachineFunctionInfo and contains private AArch64-specific information for each MachineFunction. More...
#include "Target/AArch64/AArch64MachineFunctionInfo.h"
Classes | |
class | MILOHDirective |
Public Types | |
using | SetOfInstructions = SmallPtrSet< const MachineInstr *, 16 > |
using | MILOHArgs = MILOHDirective::LOHArgs |
using | MILOHContainer = SmallVector< MILOHDirective, 32 > |
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) |
AArch64FunctionInfo - This class is derived from MachineFunctionInfo and contains private AArch64-specific information for each MachineFunction.
Definition at line 39 of file AArch64MachineFunctionInfo.h.
Definition at line 395 of file AArch64MachineFunctionInfo.h.
Definition at line 396 of file AArch64MachineFunctionInfo.h.
using llvm::AArch64FunctionInfo::SetOfInstructions = SmallPtrSet<const MachineInstr *, 16> |
Definition at line 372 of file AArch64MachineFunctionInfo.h.
AArch64FunctionInfo::AArch64FunctionInfo | ( | const Function & | F, |
const AArch64Subtarget * | STI | ||
) |
Definition at line 85 of file AArch64MachineFunctionInfo.cpp.
References assert(), llvm::StringRef::equals_insensitive(), F, GetSignReturnAddress(), llvm::yaml::AArch64FunctionInfo::HasRedZone, and ShouldSignWithBKey().
Add a LOH directive of this Kind
and this Args
.
Definition at line 401 of file AArch64MachineFunctionInfo.h.
References llvm::SmallPtrSetImpl< PtrType >::insert(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by handleADRP().
|
inline |
Definition at line 435 of file AArch64MachineFunctionInfo.h.
Referenced by getCallOpcode(), and llvm::AArch64CallLowering::lowerCall().
|
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 110 of file AArch64MachineFunctionInfo.cpp.
References llvm::MachineFunction::cloneInfo().
|
inline |
Definition at line 214 of file AArch64MachineFunctionInfo.h.
Referenced by getArgumentStackToRestore().
|
inline |
Definition at line 211 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 422 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64FrameLowering::emitEpilogue(), llvm::AArch64FrameLowering::emitPrologue(), getFPOffset(), and llvm::AArch64FrameLowering::resolveFrameOffsetReference().
|
inline |
Definition at line 309 of file AArch64MachineFunctionInfo.h.
References assert().
Referenced by getCalleeSavedStackSize().
|
inline |
Definition at line 266 of file AArch64MachineFunctionInfo.h.
References llvm::alignTo(), assert(), llvm::TargetStackID::Default, llvm::MachineFrameInfo::getCalleeSavedInfo(), getCalleeSavedStackSize(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineFrameInfo::getStackID(), getSwiftAsyncContextFrameIdx(), Info, llvm::MachineFrameInfo::isCalleeSavedInfoValid(), llvm::Offset, and Size.
Referenced by computeCalleeSaveRegisterPairs(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::AArch64FrameLowering::emitPrologue(), getFPOffset(), and llvm::AArch64FrameLowering::resolveFrameOffsetReference().
|
inline |
Definition at line 406 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 363 of file AArch64MachineFunctionInfo.h.
References Idx.
|
inline |
Definition at line 360 of file AArch64MachineFunctionInfo.h.
References Idx.
|
inline |
Definition at line 206 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 249 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64FrameLowering::canUseRedZone(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::AArch64FrameLowering::emitPrologue(), and llvm::AArch64FrameLowering::resolveFrameOffsetReference().
|
inline |
Definition at line 398 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 374 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 329 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 328 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 332 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 252 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 357 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 231 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64FrameLowering::getFrameIndexReferencePreferSP(), getSVEStackSize(), llvm::AArch64RegisterInfo::hasBasePointer(), and llvm::AArch64RegisterInfo::useFPForScavengingIndex().
|
inline |
Definition at line 319 of file AArch64MachineFunctionInfo.h.
Referenced by computeCalleeSaveRegisterPairs(), llvm::AArch64FrameLowering::emitEpilogue(), and llvm::AArch64FrameLowering::emitPrologue().
|
inline |
Definition at line 445 of file AArch64MachineFunctionInfo.h.
Referenced by getCalleeSavedStackSize().
|
inline |
Definition at line 410 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64FrameLowering::emitPrologue(), and llvm::AArch64FrameLowering::orderFrameObjects().
|
inline |
Definition at line 415 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64RegisterInfo::eliminateFrameIndex().
|
inline |
Definition at line 219 of file AArch64MachineFunctionInfo.h.
Referenced by getFixedObjectSize().
|
inline |
Definition at line 351 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 354 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 345 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 348 of file AArch64MachineFunctionInfo.h.
Referenced by getFixedObjectSize().
|
inline |
Definition at line 339 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 342 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 224 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64RegisterInfo::hasBasePointer(), and llvm::AArch64RegisterInfo::useFPForScavengingIndex().
|
inline |
Definition at line 239 of file AArch64MachineFunctionInfo.h.
Referenced by computeCalleeSaveRegisterPairs(), and llvm::AArch64FrameLowering::enableStackSlotScavenging().
|
inline |
Definition at line 336 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64InstrInfo::isFunctionSafeToOutlineFrom().
|
inline |
Definition at line 233 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64FrameLowering::emitPrologue(), and llvm::AArch64FrameLowering::resolveFrameOffsetReference().
|
inline |
Definition at line 440 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64FrameLowering::assignCalleeSavedSpillSlots(), computeCalleeSaveRegisterPairs(), llvm::AArch64FrameLowering::emitEpilogue(), and llvm::AArch64FrameLowering::emitPrologue().
|
inline |
Definition at line 331 of file AArch64MachineFunctionInfo.h.
void AArch64FunctionInfo::initializeBaseYamlFields | ( | const yaml::AArch64FunctionInfo & | YamlMFI | ) |
Definition at line 34 of file AArch64MachineFunctionInfo.cpp.
References llvm::yaml::AArch64FunctionInfo::HasRedZone.
|
inline |
Definition at line 433 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 245 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64RegisterInfo::getCalleeSavedRegsViaCopy().
|
inline |
Definition at line 236 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64FrameLowering::emitEpilogue().
|
inline |
Definition at line 203 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64RegisterInfo::getCalleeSavedRegs().
bool AArch64FunctionInfo::needsAsyncDwarfUnwindInfo | ( | const MachineFunction & | MF | ) | const |
Definition at line 141 of file AArch64MachineFunctionInfo.cpp.
References llvm::Async, F, and llvm::MachineFunction::getFunction().
Referenced by emitShadowCallStackEpilogue().
bool AArch64FunctionInfo::needsDwarfUnwindInfo | ( | const MachineFunction & | MF | ) | const |
Definition at line 132 of file AArch64MachineFunctionInfo.cpp.
References llvm::TargetMachine::getMCAsmInfo(), llvm::MachineFunction::getTarget(), llvm::MachineFunction::needsFrameMoves(), and llvm::MCAsmInfo::usesWindowsCFI().
Referenced by llvm::AArch64InstrInfo::buildOutlinedFrame(), llvm::AArch64FrameLowering::emitPrologue(), and signOutlinedFunction().
|
inline |
Definition at line 215 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 212 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 425 of file AArch64MachineFunctionInfo.h.
References llvm::Offset.
Referenced by computeCalleeSaveRegisterPairs().
|
inline |
Definition at line 256 of file AArch64MachineFunctionInfo.h.
References Size.
|
inline |
Definition at line 242 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 337 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64FrameLowering::emitPrologue().
|
inline |
Definition at line 234 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 437 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 246 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64TargetLowering::initializeSplitCSR().
|
inline |
Definition at line 204 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 366 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 207 of file AArch64MachineFunctionInfo.h.
References Reg.
|
inline |
Definition at line 248 of file AArch64MachineFunctionInfo.h.
References Size.
Referenced by llvm::AArch64FrameLowering::emitEpilogue(), and llvm::AArch64FrameLowering::emitPrologue().
|
inline |
Definition at line 323 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64FrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 251 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64InstrInfo::buildOutlinedFrame().
|
inline |
Definition at line 358 of file AArch64MachineFunctionInfo.h.
References Reg.
|
inline |
Definition at line 237 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64FrameLowering::emitPrologue().
|
inline |
Definition at line 226 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64FrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 316 of file AArch64MachineFunctionInfo.h.
References Size.
|
inline |
Definition at line 442 of file AArch64MachineFunctionInfo.h.
Referenced by llvm::AArch64FrameLowering::assignCalleeSavedSpillSlots().
|
inline |
Definition at line 413 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 418 of file AArch64MachineFunctionInfo.h.
References llvm::Offset.
Referenced by llvm::AArch64FrameLowering::emitPrologue().
|
inline |
Definition at line 220 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 352 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 355 of file AArch64MachineFunctionInfo.h.
References Size.
|
inline |
Definition at line 346 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 349 of file AArch64MachineFunctionInfo.h.
References Size.
|
inline |
Definition at line 340 of file AArch64MachineFunctionInfo.h.
|
inline |
Definition at line 343 of file AArch64MachineFunctionInfo.h.
References llvm::Offset.
Definition at line 117 of file AArch64MachineFunctionInfo.cpp.
bool AArch64FunctionInfo::shouldSignReturnAddress | ( | const MachineFunction & | MF | ) | const |
Definition at line 125 of file AArch64MachineFunctionInfo.cpp.
References llvm::any_of(), llvm::MachineFrameInfo::getCalleeSavedInfo(), llvm::MachineFunction::getFrameInfo(), and Info.
Referenced by llvm::AArch64InstrInfo::buildOutlinedFrame(), and outliningCandidatesSigningScopeConsensus().
|
inline |
Definition at line 432 of file AArch64MachineFunctionInfo.h.
Referenced by outliningCandidatesSigningKeyConsensus().