LLVM  12.0.0git
Classes | Public Types | Public Member Functions | List of all members
llvm::AArch64FunctionInfo Class Referencefinal

AArch64FunctionInfo - This class is derived from MachineFunctionInfo and contains private AArch64-specific information for each MachineFunction. More...

#include "Target/AArch64/AArch64MachineFunctionInfo.h"

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

Classes

class  MILOHDirective
 

Public Types

using SetOfInstructions = SmallPtrSet< const MachineInstr *, 16 >
 
using MILOHArgs = MILOHDirective::LOHArgs
 
using MILOHContainer = SmallVector< MILOHDirective, 32 >
 

Public Member Functions

 AArch64FunctionInfo ()=default
 
 AArch64FunctionInfo (MachineFunction &MF)
 
void initializeBaseYamlFields (const yaml::AArch64FunctionInfo &YamlMFI)
 
unsigned getBytesInStackArgArea () const
 
void setBytesInStackArgArea (unsigned bytes)
 
unsigned getArgumentStackToRestore () const
 
void setArgumentStackToRestore (unsigned bytes)
 
bool hasCalculatedStackSizeSVE () const
 
void setStackSizeSVE (uint64_t S)
 
uint64_t getStackSizeSVE () const
 
bool hasStackFrame () const
 
void setHasStackFrame (bool s)
 
bool isStackRealigned () const
 
void setStackRealigned (bool s)
 
bool hasCalleeSaveStackFreeSpace () const
 
void setCalleeSaveStackHasFreeSpace (bool s)
 
bool isSplitCSR () const
 
void setIsSplitCSR (bool s)
 
void setLocalStackSize (uint64_t Size)
 
uint64_t getLocalStackSize () const
 
void setOutliningStyle (std::string Style)
 
Optional< std::string > getOutliningStyle () const
 
void setCalleeSavedStackSize (unsigned Size)
 
unsigned getCalleeSavedStackSize (const MachineFrameInfo &MFI) const
 
unsigned getCalleeSavedStackSize () const
 
void setSVECalleeSavedStackSize (unsigned Size)
 
unsigned getSVECalleeSavedStackSize () const
 
void setMinMaxSVECSFrameIndex (int Min, int Max)
 
int getMinSVECSFrameIndex () const
 
int getMaxSVECSFrameIndex () const
 
void incNumLocalDynamicTLSAccesses ()
 
unsigned getNumLocalDynamicTLSAccesses () const
 
Optional< boolhasRedZone () const
 
void setHasRedZone (bool s)
 
int getVarArgsStackIndex () const
 
void setVarArgsStackIndex (int Index)
 
int getVarArgsGPRIndex () const
 
void setVarArgsGPRIndex (int Index)
 
unsigned getVarArgsGPRSize () const
 
void setVarArgsGPRSize (unsigned Size)
 
int getVarArgsFPRIndex () const
 
void setVarArgsFPRIndex (int Index)
 
unsigned getVarArgsFPRSize () const
 
void setVarArgsFPRSize (unsigned Size)
 
unsigned getSRetReturnReg () const
 
void setSRetReturnReg (unsigned Reg)
 
unsigned getJumpTableEntrySize (int Idx) const
 
MCSymbolgetJumpTableEntryPCRelSymbol (int Idx) const
 
void setJumpTableEntryInfo (int Idx, unsigned Size, MCSymbol *PCRelSym)
 
const SetOfInstructionsgetLOHRelated () const
 
const MILOHContainergetLOHContainer () const
 
void addLOHDirective (MCLOHType Kind, MILOHArgs Args)
 Add a LOH directive of this Kind and this Args. More...
 
SmallVectorImpl< ForwardedRegister > & getForwardedMustTailRegParms ()
 
unsigned getTaggedBasePointerOffset () const
 
void setTaggedBasePointerOffset (unsigned Offset)
 
- Public Member Functions inherited from llvm::MachineFunctionInfo
virtual ~MachineFunctionInfo ()
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::MachineFunctionInfo
template<typename Ty >
static Ty * create (BumpPtrAllocator &Allocator, MachineFunction &MF)
 Factory function: default behavior is to call new using the supplied allocator. More...
 

Detailed Description

AArch64FunctionInfo - This class is derived from MachineFunctionInfo and contains private AArch64-specific information for each MachineFunction.

Definition at line 38 of file AArch64MachineFunctionInfo.h.

Member Typedef Documentation

◆ MILOHArgs

Definition at line 319 of file AArch64MachineFunctionInfo.h.

◆ MILOHContainer

Definition at line 320 of file AArch64MachineFunctionInfo.h.

◆ SetOfInstructions

Definition at line 296 of file AArch64MachineFunctionInfo.h.

Constructor & Destructor Documentation

◆ AArch64FunctionInfo() [1/2]

llvm::AArch64FunctionInfo::AArch64FunctionInfo ( )
default

◆ AArch64FunctionInfo() [2/2]

llvm::AArch64FunctionInfo::AArch64FunctionInfo ( MachineFunction MF)
inlineexplicit

Member Function Documentation

◆ addLOHDirective()

void llvm::AArch64FunctionInfo::addLOHDirective ( MCLOHType  Kind,
MILOHArgs  Args 
)
inline

Add a LOH directive of this Kind and this Args.

Definition at line 325 of file AArch64MachineFunctionInfo.h.

References llvm::ArrayRef< T >::begin(), and llvm::ArrayRef< T >::end().

Referenced by handleADRP().

◆ getArgumentStackToRestore()

unsigned llvm::AArch64FunctionInfo::getArgumentStackToRestore ( ) const
inline

Definition at line 154 of file AArch64MachineFunctionInfo.h.

Referenced by getArgumentPopSize().

◆ getBytesInStackArgArea()

unsigned llvm::AArch64FunctionInfo::getBytesInStackArgArea ( ) const
inline

Definition at line 151 of file AArch64MachineFunctionInfo.h.

Referenced by getAssignFnsForCC(), and mayTailCallThisCC().

◆ getCalleeSavedStackSize() [1/2]

unsigned llvm::AArch64FunctionInfo::getCalleeSavedStackSize ( const MachineFrameInfo MFI) const
inline

◆ getCalleeSavedStackSize() [2/2]

unsigned llvm::AArch64FunctionInfo::getCalleeSavedStackSize ( ) const
inline

Definition at line 235 of file AArch64MachineFunctionInfo.h.

References assert().

◆ getForwardedMustTailRegParms()

SmallVectorImpl<ForwardedRegister>& llvm::AArch64FunctionInfo::getForwardedMustTailRegParms ( )
inline

◆ getJumpTableEntryPCRelSymbol()

MCSymbol* llvm::AArch64FunctionInfo::getJumpTableEntryPCRelSymbol ( int  Idx) const
inline

Definition at line 289 of file AArch64MachineFunctionInfo.h.

◆ getJumpTableEntrySize()

unsigned llvm::AArch64FunctionInfo::getJumpTableEntrySize ( int  Idx) const
inline

Definition at line 283 of file AArch64MachineFunctionInfo.h.

◆ getLocalStackSize()

uint64_t llvm::AArch64FunctionInfo::getLocalStackSize ( ) const
inline

◆ getLOHContainer()

const MILOHContainer& llvm::AArch64FunctionInfo::getLOHContainer ( ) const
inline

Definition at line 322 of file AArch64MachineFunctionInfo.h.

◆ getLOHRelated()

const SetOfInstructions& llvm::AArch64FunctionInfo::getLOHRelated ( ) const
inline

◆ getMaxSVECSFrameIndex()

int llvm::AArch64FunctionInfo::getMaxSVECSFrameIndex ( ) const
inline

◆ getMinSVECSFrameIndex()

int llvm::AArch64FunctionInfo::getMinSVECSFrameIndex ( ) const
inline

Definition at line 254 of file AArch64MachineFunctionInfo.h.

◆ getNumLocalDynamicTLSAccesses()

unsigned llvm::AArch64FunctionInfo::getNumLocalDynamicTLSAccesses ( ) const
inline

Definition at line 258 of file AArch64MachineFunctionInfo.h.

◆ getOutliningStyle()

Optional<std::string> llvm::AArch64FunctionInfo::getOutliningStyle ( ) const
inline

Definition at line 187 of file AArch64MachineFunctionInfo.h.

◆ getSRetReturnReg()

unsigned llvm::AArch64FunctionInfo::getSRetReturnReg ( ) const
inline

◆ getStackSizeSVE()

uint64_t llvm::AArch64FunctionInfo::getStackSizeSVE ( ) const
inline

Definition at line 166 of file AArch64MachineFunctionInfo.h.

Referenced by getSVEStackSize().

◆ getSVECalleeSavedStackSize()

unsigned llvm::AArch64FunctionInfo::getSVECalleeSavedStackSize ( ) const
inline

◆ getTaggedBasePointerOffset()

unsigned llvm::AArch64FunctionInfo::getTaggedBasePointerOffset ( ) const
inline

◆ getVarArgsFPRIndex()

int llvm::AArch64FunctionInfo::getVarArgsFPRIndex ( ) const
inline

Definition at line 274 of file AArch64MachineFunctionInfo.h.

◆ getVarArgsFPRSize()

unsigned llvm::AArch64FunctionInfo::getVarArgsFPRSize ( ) const
inline

Definition at line 277 of file AArch64MachineFunctionInfo.h.

◆ getVarArgsGPRIndex()

int llvm::AArch64FunctionInfo::getVarArgsGPRIndex ( ) const
inline

Definition at line 268 of file AArch64MachineFunctionInfo.h.

◆ getVarArgsGPRSize()

unsigned llvm::AArch64FunctionInfo::getVarArgsGPRSize ( ) const
inline

Definition at line 271 of file AArch64MachineFunctionInfo.h.

Referenced by getFixedObjectSize().

◆ getVarArgsStackIndex()

int llvm::AArch64FunctionInfo::getVarArgsStackIndex ( ) const
inline

Definition at line 265 of file AArch64MachineFunctionInfo.h.

Referenced by getVectorSHLImm().

◆ hasCalculatedStackSizeSVE()

bool llvm::AArch64FunctionInfo::hasCalculatedStackSizeSVE ( ) const
inline

Definition at line 159 of file AArch64MachineFunctionInfo.h.

◆ hasCalleeSaveStackFreeSpace()

bool llvm::AArch64FunctionInfo::hasCalleeSaveStackFreeSpace ( ) const
inline

◆ hasRedZone()

Optional<bool> llvm::AArch64FunctionInfo::hasRedZone ( ) const
inline

◆ hasStackFrame()

bool llvm::AArch64FunctionInfo::hasStackFrame ( ) const
inline

◆ incNumLocalDynamicTLSAccesses()

void llvm::AArch64FunctionInfo::incNumLocalDynamicTLSAccesses ( )
inline

Definition at line 257 of file AArch64MachineFunctionInfo.h.

Referenced by mayTailCallThisCC().

◆ initializeBaseYamlFields()

void AArch64FunctionInfo::initializeBaseYamlFields ( const yaml::AArch64FunctionInfo YamlMFI)

◆ isSplitCSR()

bool llvm::AArch64FunctionInfo::isSplitCSR ( ) const
inline

◆ isStackRealigned()

bool llvm::AArch64FunctionInfo::isStackRealigned ( ) const
inline

◆ setArgumentStackToRestore()

void llvm::AArch64FunctionInfo::setArgumentStackToRestore ( unsigned  bytes)
inline

◆ setBytesInStackArgArea()

void llvm::AArch64FunctionInfo::setBytesInStackArgArea ( unsigned  bytes)
inline

◆ setCalleeSavedStackSize()

void llvm::AArch64FunctionInfo::setCalleeSavedStackSize ( unsigned  Size)
inline

Definition at line 189 of file AArch64MachineFunctionInfo.h.

References Size.

◆ setCalleeSaveStackHasFreeSpace()

void llvm::AArch64FunctionInfo::setCalleeSaveStackHasFreeSpace ( bool  s)
inline

Definition at line 177 of file AArch64MachineFunctionInfo.h.

◆ setHasRedZone()

void llvm::AArch64FunctionInfo::setHasRedZone ( bool  s)
inline

◆ setHasStackFrame()

void llvm::AArch64FunctionInfo::setHasStackFrame ( bool  s)
inline

Definition at line 169 of file AArch64MachineFunctionInfo.h.

◆ setIsSplitCSR()

void llvm::AArch64FunctionInfo::setIsSplitCSR ( bool  s)
inline

Definition at line 181 of file AArch64MachineFunctionInfo.h.

◆ setJumpTableEntryInfo()

void llvm::AArch64FunctionInfo::setJumpTableEntryInfo ( int  Idx,
unsigned  Size,
MCSymbol PCRelSym 
)
inline

Definition at line 292 of file AArch64MachineFunctionInfo.h.

Referenced by INITIALIZE_PASS().

◆ setLocalStackSize()

void llvm::AArch64FunctionInfo::setLocalStackSize ( uint64_t  Size)
inline

◆ setMinMaxSVECSFrameIndex()

void llvm::AArch64FunctionInfo::setMinMaxSVECSFrameIndex ( int  Min,
int  Max 
)
inline

◆ setOutliningStyle()

void llvm::AArch64FunctionInfo::setOutliningStyle ( std::string  Style)
inline

◆ setSRetReturnReg()

void llvm::AArch64FunctionInfo::setSRetReturnReg ( unsigned  Reg)
inline

Definition at line 281 of file AArch64MachineFunctionInfo.h.

References Reg.

Referenced by llvm::AArch64TargetLowering::CCAssignFnForReturn().

◆ setStackRealigned()

void llvm::AArch64FunctionInfo::setStackRealigned ( bool  s)
inline

Definition at line 172 of file AArch64MachineFunctionInfo.h.

◆ setStackSizeSVE()

void llvm::AArch64FunctionInfo::setStackSizeSVE ( uint64_t  S)
inline

◆ setSVECalleeSavedStackSize()

void llvm::AArch64FunctionInfo::setSVECalleeSavedStackSize ( unsigned  Size)
inline

Definition at line 242 of file AArch64MachineFunctionInfo.h.

References Size.

◆ setTaggedBasePointerOffset()

void llvm::AArch64FunctionInfo::setTaggedBasePointerOffset ( unsigned  Offset)
inline

◆ setVarArgsFPRIndex()

void llvm::AArch64FunctionInfo::setVarArgsFPRIndex ( int  Index)
inline

◆ setVarArgsFPRSize()

void llvm::AArch64FunctionInfo::setVarArgsFPRSize ( unsigned  Size)
inline

Definition at line 278 of file AArch64MachineFunctionInfo.h.

References Size.

Referenced by llvm::AArch64TargetLowering::CCAssignFnForReturn().

◆ setVarArgsGPRIndex()

void llvm::AArch64FunctionInfo::setVarArgsGPRIndex ( int  Index)
inline

◆ setVarArgsGPRSize()

void llvm::AArch64FunctionInfo::setVarArgsGPRSize ( unsigned  Size)
inline

Definition at line 272 of file AArch64MachineFunctionInfo.h.

References Size.

Referenced by llvm::AArch64TargetLowering::CCAssignFnForReturn().

◆ setVarArgsStackIndex()

void llvm::AArch64FunctionInfo::setVarArgsStackIndex ( int  Index)
inline

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