LLVM  6.0.0svn
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
 
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)
 
const SetOfInstructionsgetLOHRelated () const
 
const MILOHContainergetLOHContainer () const
 
void addLOHDirective (MCLOHType Kind, MILOHArgs Args)
 Add a LOH directive of this Kind and this Args. More...
 
- 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 30 of file AArch64MachineFunctionInfo.h.

Member Typedef Documentation

◆ MILOHArgs

Definition at line 173 of file AArch64MachineFunctionInfo.h.

◆ MILOHContainer

Definition at line 174 of file AArch64MachineFunctionInfo.h.

◆ SetOfInstructions

Definition at line 150 of file AArch64MachineFunctionInfo.h.

Constructor & Destructor Documentation

◆ AArch64FunctionInfo() [1/2]

llvm::AArch64FunctionInfo::AArch64FunctionInfo ( )
default

◆ AArch64FunctionInfo() [2/2]

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

Definition at line 96 of file AArch64MachineFunctionInfo.h.

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 179 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 100 of file AArch64MachineFunctionInfo.h.

Referenced by mayTailCallThisCC().

◆ getCalleeSavedStackSize()

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

◆ getLocalStackSize()

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

◆ getLOHContainer()

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

Definition at line 176 of file AArch64MachineFunctionInfo.h.

◆ getLOHRelated()

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

◆ getNumLocalDynamicTLSAccesses()

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

Definition at line 131 of file AArch64MachineFunctionInfo.h.

◆ getVarArgsFPRIndex()

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

Definition at line 144 of file AArch64MachineFunctionInfo.h.

Referenced by mayTailCallThisCC().

◆ getVarArgsFPRSize()

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

Definition at line 147 of file AArch64MachineFunctionInfo.h.

Referenced by mayTailCallThisCC().

◆ getVarArgsGPRIndex()

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

Definition at line 138 of file AArch64MachineFunctionInfo.h.

Referenced by mayTailCallThisCC().

◆ getVarArgsGPRSize()

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

◆ getVarArgsStackIndex()

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

Definition at line 135 of file AArch64MachineFunctionInfo.h.

Referenced by changeFCMPPredToAArch64CC(), and mayTailCallThisCC().

◆ hasCalleeSaveStackFreeSpace()

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

◆ hasStackFrame()

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

◆ incNumLocalDynamicTLSAccesses()

void llvm::AArch64FunctionInfo::incNumLocalDynamicTLSAccesses ( )
inline

Definition at line 130 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

◆ setCalleeSaveStackHasFreeSpace()

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

Definition at line 117 of file AArch64MachineFunctionInfo.h.

Referenced by computeCalleeSaveRegisterPairs().

◆ setHasStackFrame()

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

◆ setIsSplitCSR()

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

◆ setLocalStackSize()

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

◆ setStackRealigned()

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

◆ setVarArgsFPRIndex()

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

◆ setVarArgsFPRSize()

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

◆ setVarArgsGPRIndex()

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

◆ setVarArgsGPRSize()

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

◆ setVarArgsStackIndex()

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

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