LLVM  8.0.1
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)
 
unsigned getBytesInStackArgArea () const
 
void setBytesInStackArgArea (unsigned bytes)
 
unsigned getArgumentStackToRestore () const
 
void setArgumentStackToRestore (unsigned bytes)
 
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 (unsigned Size)
 
unsigned getLocalStackSize () const
 
void setCalleeSavedStackSize (unsigned Size)
 
unsigned getCalleeSavedStackSize () 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 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 ()
 
- 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 32 of file AArch64MachineFunctionInfo.h.

Member Typedef Documentation

◆ MILOHArgs

Definition at line 205 of file AArch64MachineFunctionInfo.h.

◆ MILOHContainer

Definition at line 206 of file AArch64MachineFunctionInfo.h.

◆ SetOfInstructions

Definition at line 182 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 211 of file AArch64MachineFunctionInfo.h.

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

Referenced by handleADRP().

◆ getArgumentStackToRestore()

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

◆ getBytesInStackArgArea()

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

Definition at line 116 of file AArch64MachineFunctionInfo.h.

Referenced by mayTailCallThisCC().

◆ getCalleeSavedStackSize()

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

◆ getForwardedMustTailRegParms()

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

◆ getJumpTableEntryPCRelSymbol()

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

Definition at line 175 of file AArch64MachineFunctionInfo.h.

◆ getJumpTableEntrySize()

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

Definition at line 169 of file AArch64MachineFunctionInfo.h.

◆ getLocalStackSize()

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

◆ getLOHContainer()

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

Definition at line 208 of file AArch64MachineFunctionInfo.h.

◆ getLOHRelated()

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

◆ getNumLocalDynamicTLSAccesses()

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

Definition at line 147 of file AArch64MachineFunctionInfo.h.

◆ getVarArgsFPRIndex()

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

Definition at line 163 of file AArch64MachineFunctionInfo.h.

Referenced by mayTailCallThisCC().

◆ getVarArgsFPRSize()

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

Definition at line 166 of file AArch64MachineFunctionInfo.h.

Referenced by mayTailCallThisCC().

◆ getVarArgsGPRIndex()

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

Definition at line 157 of file AArch64MachineFunctionInfo.h.

Referenced by mayTailCallThisCC().

◆ getVarArgsGPRSize()

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

◆ getVarArgsStackIndex()

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

Definition at line 154 of file AArch64MachineFunctionInfo.h.

Referenced by changeFCMPPredToAArch64CC(), and mayTailCallThisCC().

◆ 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 146 of file AArch64MachineFunctionInfo.h.

Referenced by mayTailCallThisCC().

◆ 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 143 of file AArch64MachineFunctionInfo.h.

References Size.

Referenced by llvm::AArch64FrameLowering::determineCalleeSaves().

◆ setCalleeSaveStackHasFreeSpace()

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

◆ setHasRedZone()

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

◆ setHasStackFrame()

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

◆ setIsSplitCSR()

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

◆ setJumpTableEntryInfo()

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

Definition at line 178 of file AArch64MachineFunctionInfo.h.

Referenced by INITIALIZE_PASS().

◆ setLocalStackSize()

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

◆ setStackRealigned()

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

Definition at line 128 of file AArch64MachineFunctionInfo.h.

◆ setVarArgsFPRIndex()

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

◆ setVarArgsFPRSize()

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

Definition at line 167 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 161 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 file: