LLVM API Documentation

Public Member Functions
llvm::AArch64RegisterInfo Struct Reference

#include <AArch64RegisterInfo.h>

Inheritance diagram for llvm::AArch64RegisterInfo:
Inheritance graph
[legend]
Collaboration diagram for llvm::AArch64RegisterInfo:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 AArch64RegisterInfo (const AArch64InstrInfo *tii, const AArch64Subtarget *sti)
bool isReservedReg (const MachineFunction &MF, unsigned Reg) const
const MCPhysReggetCalleeSavedRegs (const MachineFunction *MF=nullptr) const override
 Code Generation virtual methods...
const uint32_t * getCallPreservedMask (CallingConv::ID) const override
unsigned getCSRFirstUseCost () const override
const uint32_t * getTLSCallPreservedMask () const
const uint32_t * getThisReturnPreservedMask (CallingConv::ID) const
BitVector getReservedRegs (const MachineFunction &MF) const override
const TargetRegisterClassgetPointerRegClass (const MachineFunction &MF, unsigned Kind=0) const override
const TargetRegisterClassgetCrossCopyRegClass (const TargetRegisterClass *RC) const override
bool requiresRegisterScavenging (const MachineFunction &MF) const override
bool useFPForScavengingIndex (const MachineFunction &MF) const override
bool requiresFrameIndexScavenging (const MachineFunction &MF) const override
bool needsFrameBaseReg (MachineInstr *MI, int64_t Offset) const override
bool isFrameOffsetLegal (const MachineInstr *MI, int64_t Offset) const override
void materializeFrameBaseRegister (MachineBasicBlock *MBB, unsigned BaseReg, int FrameIdx, int64_t Offset) const override
void resolveFrameIndex (MachineInstr &MI, unsigned BaseReg, int64_t Offset) const override
void eliminateFrameIndex (MachineBasicBlock::iterator II, int SPAdj, unsigned FIOperandNum, RegScavenger *RS=nullptr) const override
bool cannotEliminateFrame (const MachineFunction &MF) const
bool requiresVirtualBaseRegisters (const MachineFunction &MF) const override
bool hasBasePointer (const MachineFunction &MF) const
unsigned getBaseRegister () const
unsigned getFrameRegister (const MachineFunction &MF) const override
unsigned getRegPressureLimit (const TargetRegisterClass *RC, MachineFunction &MF) const override

Detailed Description

Definition at line 28 of file AArch64RegisterInfo.h.


Constructor & Destructor Documentation

Definition at line 36 of file AArch64RegisterInfo.cpp.


Member Function Documentation

void AArch64RegisterInfo::eliminateFrameIndex ( MachineBasicBlock::iterator  II,
int  SPAdj,
unsigned  FIOperandNum,
RegScavenger RS = nullptr 
) const [override]

Definition at line 50 of file AArch64RegisterInfo.cpp.

References llvm::CallingConv::AnyReg.

Definition at line 139 of file AArch64RegisterInfo.cpp.

Definition at line 43 of file AArch64RegisterInfo.h.

Definition at line 133 of file AArch64RegisterInfo.cpp.

getThisReturnPreservedMask - Returns a call preserved mask specific to the case that 'returned' is on an i64 first argument if the calling convention is one that can (partially) model this attribute with a preserved mask (i.e. it is a calling convention that uses the same register for the first i64 argument and an i64 return value)

Should return NULL in the case that the calling convention does not have this property

Definition at line 66 of file AArch64RegisterInfo.cpp.

bool AArch64RegisterInfo::isFrameOffsetLegal ( const MachineInstr MI,
int64_t  Offset 
) const [override]
void AArch64RegisterInfo::materializeFrameBaseRegister ( MachineBasicBlock MBB,
unsigned  BaseReg,
int  FrameIdx,
int64_t  Offset 
) const [override]
bool AArch64RegisterInfo::needsFrameBaseReg ( MachineInstr MI,
int64_t  Offset 
) const [override]

needsFrameBaseReg - Returns true if the instruction's frame index reference would be better served by a base register other than FP or SP. Used by LocalStackFrameAllocation to determine which frame index references it should create new base registers for.

Definition at line 215 of file AArch64RegisterInfo.cpp.

References llvm::MachineFunction::getFrameInfo(), llvm::TargetSubtargetInfo::getFrameLowering(), llvm::MachineFrameInfo::getLocalFrameSize(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getSubtarget(), llvm::TargetFrameLowering::hasFP(), llvm::MachineOperand::isFI(), isFrameOffsetLegal(), llvm::MachineInstr::mayLoad(), and llvm::MachineInstr::mayStore().

Definition at line 196 of file AArch64RegisterInfo.cpp.

Definition at line 177 of file AArch64RegisterInfo.cpp.

Definition at line 182 of file AArch64RegisterInfo.cpp.

void AArch64RegisterInfo::resolveFrameIndex ( MachineInstr MI,
unsigned  BaseReg,
int64_t  Offset 
) const [override]

The documentation for this struct was generated from the following files: