LLVM: llvm::PPCFunctionInfo Class Reference (original) (raw)

PPCFunctionInfo - This class is derived from MachineFunction private PowerPC target-specific information for each MachineFunction. More...

#include "[Target/PowerPC/PPCMachineFunctionInfo.h](PPCMachineFunctionInfo%5F8h%5Fsource.html)"

Public Member Functions
PPCFunctionInfo (const Function &F, const TargetSubtargetInfo *STI)
MachineFunctionInfo * clone (BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const override
Make a functionally equivalent copy of this MachineFunctionInfo in MF.
int getFramePointerSaveIndex () const
void setFramePointerSaveIndex (int Idx)
int getReturnAddrSaveIndex () const
void setReturnAddrSaveIndex (int idx)
int getBasePointerSaveIndex () const
void setBasePointerSaveIndex (int Idx)
int getPICBasePointerSaveIndex () const
void setPICBasePointerSaveIndex (int Idx)
int getROPProtectionHashSaveIndex () const
void setROPProtectionHashSaveIndex (int Idx)
unsigned getMinReservedArea () const
void setMinReservedArea (unsigned size)
int getTailCallSPDelta () const
void setTailCallSPDelta (int size)
void setMustSaveLR (bool U)
MustSaveLR - This is set when the prolog/epilog inserter does its initial scan of the function.
bool mustSaveLR () const
void setMustSaveTOC (bool U)
bool mustSaveTOC () const
void setShrinkWrapDisabled (bool U)
We certainly don't want to shrink wrap functions if we've emitted a MovePCtoLR8 as that has to go into the entry, so the prologue definitely has to go into the entry block.
bool shrinkWrapDisabled () const
void setHasSpills ()
bool hasSpills () const
void setHasNonRISpills ()
bool hasNonRISpills () const
void setSpillsCR ()
bool isCRSpilled () const
void setDisableNonVolatileCR ()
bool isNonVolatileCRDisabled () const
void setLRStoreRequired ()
bool isLRStoreRequired () const
void setUsesTOCBasePtr ()
bool usesTOCBasePtr () const
void setHasFastCall ()
bool hasFastCall () const
void setAIXFuncTLSModelOptInitDone ()
bool isAIXFuncTLSModelOptInitDone () const
void setAIXFuncUseTLSIEForLD ()
bool isAIXFuncUseTLSIEForLD () const
int getVarArgsFrameIndex () const
void setVarArgsFrameIndex (int Index)
int getVarArgsStackOffset () const
void setVarArgsStackOffset (int Offset)
unsigned getVarArgsNumGPR () const
void setVarArgsNumGPR (unsigned Num)
unsigned getFixedParmsNum () const
unsigned getFloatingPointParmsNum () const
unsigned getVectorParmsNum () const
bool hasVectorParms () const
uint32_t getParmsType () const
uint32_t getVecExtParmsType () const
void appendParameterType (ParamType Type)
unsigned getVarArgsNumFPR () const
void setVarArgsNumFPR (unsigned Num)
void addLiveInAttr (Register VReg, ISD::ArgFlagsTy Flags)
This function associates attributes for each live-in virtual register.
bool isLiveInSExt (Register VReg) const
This function returns true if the specified vreg is a live-in register and sign-extended.
bool isLiveInZExt (Register VReg) const
This function returns true if the specified vreg is a live-in register and zero-extended.
int getCRSpillFrameIndex () const
void setCRSpillFrameIndex (int idx)
const SmallVectorImpl< Register > & getMustSaveCRs () const
void addMustSaveCR (Register Reg)
void setUsesPICBase (bool uses)
bool usesPICBase () const
MCSymbol * getPICOffsetSymbol (MachineFunction &MF) const
MCSymbol * getGlobalEPSymbol (MachineFunction &MF) const
MCSymbol * getLocalEPSymbol (MachineFunction &MF) const
MCSymbol * getTOCOffsetSymbol (MachineFunction &MF) const
Public Member Functions inherited from llvm::MachineFunctionInfo
virtual ~MachineFunctionInfo ()
Additional Inherited Members
Static Public Member Functions inherited from llvm::MachineFunctionInfo
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
static Ty * create (BumpPtrAllocator &Allocator, const Ty &MFI)

PPCFunctionInfo - This class is derived from MachineFunction private PowerPC target-specific information for each MachineFunction.

Definition at line 24 of file PPCMachineFunctionInfo.h.

ParamType

Enumerator
FixedType
ShortFloatingPoint
LongFloatingPoint
VectorChar
VectorShort
VectorInt
VectorFloat

Definition at line 26 of file PPCMachineFunctionInfo.h.

addLiveInAttr()

addMustSaveCR()

void llvm::PPCFunctionInfo::addMustSaveCR ( Register Reg) inline

appendParameterType()

void PPCFunctionInfo::appendParameterType ( ParamType Type )

clone()

getBasePointerSaveIndex()

int llvm::PPCFunctionInfo::getBasePointerSaveIndex ( ) const inline

getCRSpillFrameIndex()

int llvm::PPCFunctionInfo::getCRSpillFrameIndex ( ) const inline

getFixedParmsNum()

unsigned llvm::PPCFunctionInfo::getFixedParmsNum ( ) const inline

getFloatingPointParmsNum()

unsigned llvm::PPCFunctionInfo::getFloatingPointParmsNum ( ) const inline

getFramePointerSaveIndex()

int llvm::PPCFunctionInfo::getFramePointerSaveIndex ( ) const inline

getGlobalEPSymbol()

getLocalEPSymbol()

getMinReservedArea()

unsigned llvm::PPCFunctionInfo::getMinReservedArea ( ) const inline

getMustSaveCRs()

getParmsType()

uint32_t PPCFunctionInfo::getParmsType ( ) const

Definition at line 143 of file PPCMachineFunctionInfo.cpp.

References FixedType, hasVectorParms(), LongFloatingPoint, llvm::XCOFF::TracebackTable::ParmTypeIsDoubleBits, llvm::XCOFF::TracebackTable::ParmTypeIsFixedBits, llvm::XCOFF::TracebackTable::ParmTypeIsFloatingBits, llvm::XCOFF::TracebackTable::ParmTypeIsVectorBits, ShortFloatingPoint, VectorChar, VectorFloat, VectorInt, VectorShort, and llvm::XCOFF::TracebackTable::WidthOfParamType.

getPICBasePointerSaveIndex()

int llvm::PPCFunctionInfo::getPICBasePointerSaveIndex ( ) const inline

getPICOffsetSymbol()

getReturnAddrSaveIndex()

int llvm::PPCFunctionInfo::getReturnAddrSaveIndex ( ) const inline

getROPProtectionHashSaveIndex()

int llvm::PPCFunctionInfo::getROPProtectionHashSaveIndex ( ) const inline

getTailCallSPDelta()

int llvm::PPCFunctionInfo::getTailCallSPDelta ( ) const inline

getTOCOffsetSymbol()

getVarArgsFrameIndex()

int llvm::PPCFunctionInfo::getVarArgsFrameIndex ( ) const inline

getVarArgsNumFPR()

unsigned llvm::PPCFunctionInfo::getVarArgsNumFPR ( ) const inline

getVarArgsNumGPR()

unsigned llvm::PPCFunctionInfo::getVarArgsNumGPR ( ) const inline

getVarArgsStackOffset()

int llvm::PPCFunctionInfo::getVarArgsStackOffset ( ) const inline

getVecExtParmsType()

uint32_t PPCFunctionInfo::getVecExtParmsType ( ) const

getVectorParmsNum()

unsigned llvm::PPCFunctionInfo::getVectorParmsNum ( ) const inline

hasFastCall()

bool llvm::PPCFunctionInfo::hasFastCall ( ) const inline

hasNonRISpills()

bool llvm::PPCFunctionInfo::hasNonRISpills ( ) const inline

hasSpills()

bool llvm::PPCFunctionInfo::hasSpills ( ) const inline

hasVectorParms()

bool llvm::PPCFunctionInfo::hasVectorParms ( ) const inline

isAIXFuncTLSModelOptInitDone()

bool llvm::PPCFunctionInfo::isAIXFuncTLSModelOptInitDone ( ) const inline

isAIXFuncUseTLSIEForLD()

bool llvm::PPCFunctionInfo::isAIXFuncUseTLSIEForLD ( ) const inline

isCRSpilled()

bool llvm::PPCFunctionInfo::isCRSpilled ( ) const inline

isLiveInSExt()

isLiveInZExt()

isLRStoreRequired()

bool llvm::PPCFunctionInfo::isLRStoreRequired ( ) const inline

isNonVolatileCRDisabled()

bool llvm::PPCFunctionInfo::isNonVolatileCRDisabled ( ) const inline

mustSaveLR()

bool llvm::PPCFunctionInfo::mustSaveLR ( ) const inline

mustSaveTOC()

bool llvm::PPCFunctionInfo::mustSaveTOC ( ) const inline

setAIXFuncTLSModelOptInitDone()

void llvm::PPCFunctionInfo::setAIXFuncTLSModelOptInitDone ( ) inline

setAIXFuncUseTLSIEForLD()

void llvm::PPCFunctionInfo::setAIXFuncUseTLSIEForLD ( ) inline

setBasePointerSaveIndex()

void llvm::PPCFunctionInfo::setBasePointerSaveIndex ( int Idx) inline

setCRSpillFrameIndex()

void llvm::PPCFunctionInfo::setCRSpillFrameIndex ( int idx) inline

setDisableNonVolatileCR()

void llvm::PPCFunctionInfo::setDisableNonVolatileCR ( ) inline

setFramePointerSaveIndex()

void llvm::PPCFunctionInfo::setFramePointerSaveIndex ( int Idx) inline

setHasFastCall()

void llvm::PPCFunctionInfo::setHasFastCall ( ) inline

setHasNonRISpills()

void llvm::PPCFunctionInfo::setHasNonRISpills ( ) inline

setHasSpills()

void llvm::PPCFunctionInfo::setHasSpills ( ) inline

setLRStoreRequired()

void llvm::PPCFunctionInfo::setLRStoreRequired ( ) inline

setMinReservedArea()

void llvm::PPCFunctionInfo::setMinReservedArea ( unsigned size) inline

setMustSaveLR()

void llvm::PPCFunctionInfo::setMustSaveLR ( bool U) inline

MustSaveLR - This is set when the prolog/epilog inserter does its initial scan of the function.

It is true if the LR/LR8 register is ever explicitly defined/clobbered in the machine function (e.g. by calls and movpctolr, which is used in PIC generation), or if the LR stack slot is explicitly referenced by builtin_return_address.

Definition at line 196 of file PPCMachineFunctionInfo.h.

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

setMustSaveTOC()

void llvm::PPCFunctionInfo::setMustSaveTOC ( bool U) inline

setPICBasePointerSaveIndex()

void llvm::PPCFunctionInfo::setPICBasePointerSaveIndex ( int Idx) inline

setReturnAddrSaveIndex()

void llvm::PPCFunctionInfo::setReturnAddrSaveIndex ( int idx) inline

setROPProtectionHashSaveIndex()

void llvm::PPCFunctionInfo::setROPProtectionHashSaveIndex ( int Idx) inline

setShrinkWrapDisabled()

void llvm::PPCFunctionInfo::setShrinkWrapDisabled ( bool U) inline

We certainly don't want to shrink wrap functions if we've emitted a MovePCtoLR8 as that has to go into the entry, so the prologue definitely has to go into the entry block.

Definition at line 205 of file PPCMachineFunctionInfo.h.

setSpillsCR()

void llvm::PPCFunctionInfo::setSpillsCR ( ) inline

setTailCallSPDelta()

void llvm::PPCFunctionInfo::setTailCallSPDelta ( int size) inline

setUsesPICBase()

void llvm::PPCFunctionInfo::setUsesPICBase ( bool uses) inline

setUsesTOCBasePtr()

void llvm::PPCFunctionInfo::setUsesTOCBasePtr ( ) inline

setVarArgsFrameIndex()

void llvm::PPCFunctionInfo::setVarArgsFrameIndex ( int Index) inline

setVarArgsNumFPR()

void llvm::PPCFunctionInfo::setVarArgsNumFPR ( unsigned Num) inline

setVarArgsNumGPR()

void llvm::PPCFunctionInfo::setVarArgsNumGPR ( unsigned Num) inline

setVarArgsStackOffset()

void llvm::PPCFunctionInfo::setVarArgsStackOffset ( int Offset) inline

shrinkWrapDisabled()

bool llvm::PPCFunctionInfo::shrinkWrapDisabled ( ) const inline

usesPICBase()

bool llvm::PPCFunctionInfo::usesPICBase ( ) const inline

usesTOCBasePtr()

bool llvm::PPCFunctionInfo::usesTOCBasePtr ( ) const inline

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