LLVM  10.0.0svn
Public Member Functions | Public Attributes | List of all members
llvm::ARMFunctionInfo Class Reference

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

#include "Target/ARM/ARMMachineFunctionInfo.h"

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

Public Member Functions

 ARMFunctionInfo ()=default
 
 ARMFunctionInfo (MachineFunction &MF)
 
bool isThumbFunction () const
 
bool isThumb1OnlyFunction () const
 
bool isThumb2Function () const
 
unsigned getStoredByValParamsPadding () const
 
void setStoredByValParamsPadding (unsigned p)
 
unsigned getArgRegsSaveSize () const
 
void setArgRegsSaveSize (unsigned s)
 
unsigned getReturnRegsCount () const
 
void setReturnRegsCount (unsigned s)
 
bool hasStackFrame () const
 
void setHasStackFrame (bool s)
 
bool shouldRestoreSPFromFP () const
 
void setShouldRestoreSPFromFP (bool s)
 
bool isLRSpilled () const
 
void setLRIsSpilled (bool s)
 
bool isLRSpilledForFarJump () const
 
void setLRIsSpilledForFarJump (bool s)
 
unsigned getFramePtrSpillOffset () const
 
void setFramePtrSpillOffset (unsigned o)
 
unsigned getNumAlignedDPRCS2Regs () const
 
void setNumAlignedDPRCS2Regs (unsigned n)
 
unsigned getGPRCalleeSavedArea1Offset () const
 
unsigned getGPRCalleeSavedArea2Offset () const
 
unsigned getDPRCalleeSavedAreaOffset () const
 
void setGPRCalleeSavedArea1Offset (unsigned o)
 
void setGPRCalleeSavedArea2Offset (unsigned o)
 
void setDPRCalleeSavedAreaOffset (unsigned o)
 
unsigned getGPRCalleeSavedArea1Size () const
 
unsigned getGPRCalleeSavedArea2Size () const
 
unsigned getDPRCalleeSavedGapSize () const
 
unsigned getDPRCalleeSavedAreaSize () const
 
void setGPRCalleeSavedArea1Size (unsigned s)
 
void setGPRCalleeSavedArea2Size (unsigned s)
 
void setDPRCalleeSavedGapSize (unsigned s)
 
void setDPRCalleeSavedAreaSize (unsigned s)
 
unsigned getArgumentStackSize () const
 
void setArgumentStackSize (unsigned size)
 
void initPICLabelUId (unsigned UId)
 
unsigned getNumPICLabels () const
 
unsigned createPICLabelUId ()
 
int getVarArgsFrameIndex () const
 
void setVarArgsFrameIndex (int Index)
 
bool hasITBlocks () const
 
void setHasITBlocks (bool h)
 
bool isSplitCSR () const
 
void setIsSplitCSR (bool s)
 
void recordCPEClone (unsigned CPIdx, unsigned CPCloneIdx)
 
unsigned getOriginalCPIdx (unsigned CloneIdx) const
 
DenseMap< const MachineBasicBlock *, unsigned >::iterator getCoalescedWeight (MachineBasicBlock *MBB)
 
void markGlobalAsPromotedToConstantPool (const GlobalVariable *GV)
 Indicate to the backend that GV has had its storage changed to inside a constant pool. More...
 
SmallPtrSet< const GlobalVariable *, 2 > & getGlobalsPromotedToConstantPool ()
 
int getPromotedConstpoolIncrease () const
 
void setPromotedConstpoolIncrease (int Sz)
 
void setPreservesR0 ()
 
bool getPreservesR0 () const
 
- Public Member Functions inherited from llvm::MachineFunctionInfo
virtual ~MachineFunctionInfo ()
 

Public Attributes

DenseMap< unsigned, unsignedEHPrologueRemappedRegs
 

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

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

Definition at line 27 of file ARMMachineFunctionInfo.h.

Constructor & Destructor Documentation

◆ ARMFunctionInfo() [1/2]

llvm::ARMFunctionInfo::ARMFunctionInfo ( )
default

◆ ARMFunctionInfo() [2/2]

ARMFunctionInfo::ARMFunctionInfo ( MachineFunction MF)
explicit

Definition at line 16 of file ARMMachineFunctionInfo.cpp.

Member Function Documentation

◆ createPICLabelUId()

unsigned llvm::ARMFunctionInfo::createPICLabelUId ( )
inline

◆ getArgRegsSaveSize()

unsigned llvm::ARMFunctionInfo::getArgRegsSaveSize ( ) const
inline

◆ getArgumentStackSize()

unsigned llvm::ARMFunctionInfo::getArgumentStackSize ( ) const
inline

◆ getCoalescedWeight()

DenseMap<const MachineBasicBlock*, unsigned>::iterator llvm::ARMFunctionInfo::getCoalescedWeight ( MachineBasicBlock MBB)
inline

◆ getDPRCalleeSavedAreaOffset()

unsigned llvm::ARMFunctionInfo::getDPRCalleeSavedAreaOffset ( ) const
inline

Definition at line 176 of file ARMMachineFunctionInfo.h.

◆ getDPRCalleeSavedAreaSize()

unsigned llvm::ARMFunctionInfo::getDPRCalleeSavedAreaSize ( ) const
inline

◆ getDPRCalleeSavedGapSize()

unsigned llvm::ARMFunctionInfo::getDPRCalleeSavedGapSize ( ) const
inline

Definition at line 184 of file ARMMachineFunctionInfo.h.

Referenced by llvm::ARMFrameLowering::emitEpilogue().

◆ getFramePtrSpillOffset()

unsigned llvm::ARMFunctionInfo::getFramePtrSpillOffset ( ) const
inline

◆ getGlobalsPromotedToConstantPool()

SmallPtrSet<const GlobalVariable*, 2>& llvm::ARMFunctionInfo::getGlobalsPromotedToConstantPool ( )
inline

◆ getGPRCalleeSavedArea1Offset()

unsigned llvm::ARMFunctionInfo::getGPRCalleeSavedArea1Offset ( ) const
inline

Definition at line 174 of file ARMMachineFunctionInfo.h.

◆ getGPRCalleeSavedArea1Size()

unsigned llvm::ARMFunctionInfo::getGPRCalleeSavedArea1Size ( ) const
inline

◆ getGPRCalleeSavedArea2Offset()

unsigned llvm::ARMFunctionInfo::getGPRCalleeSavedArea2Offset ( ) const
inline

Definition at line 175 of file ARMMachineFunctionInfo.h.

◆ getGPRCalleeSavedArea2Size()

unsigned llvm::ARMFunctionInfo::getGPRCalleeSavedArea2Size ( ) const
inline

◆ getNumAlignedDPRCS2Regs()

unsigned llvm::ARMFunctionInfo::getNumAlignedDPRCS2Regs ( ) const
inline

◆ getNumPICLabels()

unsigned llvm::ARMFunctionInfo::getNumPICLabels ( ) const
inline

Definition at line 199 of file ARMMachineFunctionInfo.h.

◆ getOriginalCPIdx()

unsigned llvm::ARMFunctionInfo::getOriginalCPIdx ( unsigned  CloneIdx) const
inline

◆ getPreservesR0()

bool llvm::ARMFunctionInfo::getPreservesR0 ( ) const
inline

◆ getPromotedConstpoolIncrease()

int llvm::ARMFunctionInfo::getPromotedConstpoolIncrease ( ) const
inline

Definition at line 247 of file ARMMachineFunctionInfo.h.

Referenced by promoteToConstantPool().

◆ getReturnRegsCount()

unsigned llvm::ARMFunctionInfo::getReturnRegsCount ( ) const
inline

◆ getStoredByValParamsPadding()

unsigned llvm::ARMFunctionInfo::getStoredByValParamsPadding ( ) const
inline

Definition at line 147 of file ARMMachineFunctionInfo.h.

◆ getVarArgsFrameIndex()

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

Definition at line 207 of file ARMMachineFunctionInfo.h.

Referenced by LowerVASTART().

◆ hasITBlocks()

bool llvm::ARMFunctionInfo::hasITBlocks ( ) const
inline

◆ hasStackFrame()

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

◆ initPICLabelUId()

void llvm::ARMFunctionInfo::initPICLabelUId ( unsigned  UId)
inline

Definition at line 195 of file ARMMachineFunctionInfo.h.

◆ isLRSpilled()

bool llvm::ARMFunctionInfo::isLRSpilled ( ) const
inline

Definition at line 162 of file ARMMachineFunctionInfo.h.

Referenced by getUnconditionalBrDisp().

◆ isLRSpilledForFarJump()

bool llvm::ARMFunctionInfo::isLRSpilledForFarJump ( ) const
inline

Definition at line 165 of file ARMMachineFunctionInfo.h.

◆ isSplitCSR()

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

◆ isThumb1OnlyFunction()

bool llvm::ARMFunctionInfo::isThumb1OnlyFunction ( ) const
inline

◆ isThumb2Function()

bool llvm::ARMFunctionInfo::isThumb2Function ( ) const
inline

◆ isThumbFunction()

bool llvm::ARMFunctionInfo::isThumbFunction ( ) const
inline

◆ markGlobalAsPromotedToConstantPool()

void llvm::ARMFunctionInfo::markGlobalAsPromotedToConstantPool ( const GlobalVariable GV)
inline

Indicate to the backend that GV has had its storage changed to inside a constant pool.

This means it no longer needs to be emitted as a global variable.

Definition at line 241 of file ARMMachineFunctionInfo.h.

References llvm::SmallPtrSetImpl< PtrType >::insert().

Referenced by promoteToConstantPool().

◆ recordCPEClone()

void llvm::ARMFunctionInfo::recordCPEClone ( unsigned  CPIdx,
unsigned  CPCloneIdx 
)
inline

◆ setArgRegsSaveSize()

void llvm::ARMFunctionInfo::setArgRegsSaveSize ( unsigned  s)
inline

Definition at line 151 of file ARMMachineFunctionInfo.h.

Referenced by LowerVASTART().

◆ setArgumentStackSize()

void llvm::ARMFunctionInfo::setArgumentStackSize ( unsigned  size)
inline

Definition at line 193 of file ARMMachineFunctionInfo.h.

References llvm::size().

Referenced by LowerVASTART().

◆ setDPRCalleeSavedAreaOffset()

void llvm::ARMFunctionInfo::setDPRCalleeSavedAreaOffset ( unsigned  o)
inline

◆ setDPRCalleeSavedAreaSize()

void llvm::ARMFunctionInfo::setDPRCalleeSavedAreaSize ( unsigned  s)
inline

◆ setDPRCalleeSavedGapSize()

void llvm::ARMFunctionInfo::setDPRCalleeSavedGapSize ( unsigned  s)
inline

Definition at line 189 of file ARMMachineFunctionInfo.h.

Referenced by llvm::ARMFrameLowering::emitPrologue().

◆ setFramePtrSpillOffset()

void llvm::ARMFunctionInfo::setFramePtrSpillOffset ( unsigned  o)
inline

◆ setGPRCalleeSavedArea1Offset()

void llvm::ARMFunctionInfo::setGPRCalleeSavedArea1Offset ( unsigned  o)
inline

◆ setGPRCalleeSavedArea1Size()

void llvm::ARMFunctionInfo::setGPRCalleeSavedArea1Size ( unsigned  s)
inline

◆ setGPRCalleeSavedArea2Offset()

void llvm::ARMFunctionInfo::setGPRCalleeSavedArea2Offset ( unsigned  o)
inline

◆ setGPRCalleeSavedArea2Size()

void llvm::ARMFunctionInfo::setGPRCalleeSavedArea2Size ( unsigned  s)
inline

◆ setHasITBlocks()

void llvm::ARMFunctionInfo::setHasITBlocks ( bool  h)
inline

Definition at line 211 of file ARMMachineFunctionInfo.h.

◆ setHasStackFrame()

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

◆ setIsSplitCSR()

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

◆ setLRIsSpilled()

void llvm::ARMFunctionInfo::setLRIsSpilled ( bool  s)
inline

◆ setLRIsSpilledForFarJump()

void llvm::ARMFunctionInfo::setLRIsSpilledForFarJump ( bool  s)
inline

◆ setNumAlignedDPRCS2Regs()

void llvm::ARMFunctionInfo::setNumAlignedDPRCS2Regs ( unsigned  n)
inline

Definition at line 172 of file ARMMachineFunctionInfo.h.

◆ setPreservesR0()

void llvm::ARMFunctionInfo::setPreservesR0 ( )
inline

Definition at line 256 of file ARMMachineFunctionInfo.h.

Referenced by LowerVASTART().

◆ setPromotedConstpoolIncrease()

void llvm::ARMFunctionInfo::setPromotedConstpoolIncrease ( int  Sz)
inline

Definition at line 250 of file ARMMachineFunctionInfo.h.

Referenced by promoteToConstantPool().

◆ setReturnRegsCount()

void llvm::ARMFunctionInfo::setReturnRegsCount ( unsigned  s)
inline

Definition at line 154 of file ARMMachineFunctionInfo.h.

Referenced by LowerInterruptReturn().

◆ setShouldRestoreSPFromFP()

void llvm::ARMFunctionInfo::setShouldRestoreSPFromFP ( bool  s)
inline

◆ setStoredByValParamsPadding()

void llvm::ARMFunctionInfo::setStoredByValParamsPadding ( unsigned  p)
inline

Definition at line 148 of file ARMMachineFunctionInfo.h.

◆ setVarArgsFrameIndex()

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

Definition at line 208 of file ARMMachineFunctionInfo.h.

Referenced by LowerVASTART().

◆ shouldRestoreSPFromFP()

bool llvm::ARMFunctionInfo::shouldRestoreSPFromFP ( ) const
inline

Member Data Documentation

◆ EHPrologueRemappedRegs

DenseMap<unsigned, unsigned> llvm::ARMFunctionInfo::EHPrologueRemappedRegs

Definition at line 254 of file ARMMachineFunctionInfo.h.

Referenced by llvm::ARMAsmPrinter::EmitJumpTableTBInst().


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