LLVM 19.0.0git
Public Member Functions | List of all members
llvm::XCoreFunctionInfo Class Reference

XCoreFunctionInfo - This class is derived from MachineFunction private XCore target-specific information for each MachineFunction. More...

#include "Target/XCore/XCoreMachineFunctionInfo.h"

Inheritance diagram for llvm::XCoreFunctionInfo:
Inheritance graph
[legend]

Public Member Functions

 XCoreFunctionInfo ()=default
 
 XCoreFunctionInfo (const Function &F, const TargetSubtargetInfo *STI)
 
MachineFunctionInfoclone (BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const override
 Make a functionally equivalent copy of this MachineFunctionInfo in MF.
 
 ~XCoreFunctionInfo () override=default
 
void setVarArgsFrameIndex (int off)
 
int getVarArgsFrameIndex () const
 
int createLRSpillSlot (MachineFunction &MF)
 
bool hasLRSpillSlot ()
 
int getLRSpillSlot () const
 
int createFPSpillSlot (MachineFunction &MF)
 
bool hasFPSpillSlot ()
 
int getFPSpillSlot () const
 
const int * createEHSpillSlot (MachineFunction &MF)
 
bool hasEHSpillSlot ()
 
const int * getEHSpillSlot () const
 
void setReturnStackOffset (unsigned value)
 
unsigned getReturnStackOffset () const
 
bool isLargeFrame (const MachineFunction &MF) const
 
std::vector< std::pair< MachineBasicBlock::iterator, CalleeSavedInfo > > & getSpillLabels ()
 
- Public Member Functions inherited from llvm::MachineFunctionInfo
virtual ~MachineFunctionInfo ()
 
virtual MachineFunctionInfoclone (BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const
 Make a functionally equivalent copy of this MachineFunctionInfo in MF.
 

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<typename Ty >
static Ty * create (BumpPtrAllocator &Allocator, const Ty &MFI)
 

Detailed Description

XCoreFunctionInfo - This class is derived from MachineFunction private XCore target-specific information for each MachineFunction.

Definition at line 27 of file XCoreMachineFunctionInfo.h.

Constructor & Destructor Documentation

◆ XCoreFunctionInfo() [1/2]

llvm::XCoreFunctionInfo::XCoreFunctionInfo ( )
default

◆ XCoreFunctionInfo() [2/2]

llvm::XCoreFunctionInfo::XCoreFunctionInfo ( const Function F,
const TargetSubtargetInfo STI 
)
inlineexplicit

Definition at line 46 of file XCoreMachineFunctionInfo.h.

◆ ~XCoreFunctionInfo()

llvm::XCoreFunctionInfo::~XCoreFunctionInfo ( )
overridedefault

Member Function Documentation

◆ clone()

MachineFunctionInfo * XCoreFunctionInfo::clone ( BumpPtrAllocator Allocator,
MachineFunction DestMF,
const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &  Src2DstMBB 
) const
overridevirtual

Make a functionally equivalent copy of this MachineFunctionInfo in MF.

This requires remapping MachineBasicBlock references from the original parent to values in the new function. Targets may assume that virtual register and frame index values are preserved in the new function.

Reimplemented from llvm::MachineFunctionInfo.

Definition at line 18 of file XCoreMachineFunctionInfo.cpp.

References llvm::MachineFunction::cloneInfo().

◆ createEHSpillSlot()

const int * XCoreFunctionInfo::createEHSpillSlot ( MachineFunction MF)

◆ createFPSpillSlot()

int XCoreFunctionInfo::createFPSpillSlot ( MachineFunction MF)

◆ createLRSpillSlot()

int XCoreFunctionInfo::createLRSpillSlot ( MachineFunction MF)

◆ getEHSpillSlot()

const int * llvm::XCoreFunctionInfo::getEHSpillSlot ( ) const
inline

Definition at line 75 of file XCoreMachineFunctionInfo.h.

References assert().

Referenced by GetEHSpillList().

◆ getFPSpillSlot()

int llvm::XCoreFunctionInfo::getFPSpillSlot ( ) const
inline

Definition at line 68 of file XCoreMachineFunctionInfo.h.

References assert().

Referenced by GetSpillList().

◆ getLRSpillSlot()

int llvm::XCoreFunctionInfo::getLRSpillSlot ( ) const
inline

◆ getReturnStackOffset()

unsigned llvm::XCoreFunctionInfo::getReturnStackOffset ( ) const
inline

Definition at line 86 of file XCoreMachineFunctionInfo.h.

References assert().

◆ getSpillLabels()

std::vector< std::pair< MachineBasicBlock::iterator, CalleeSavedInfo > > & llvm::XCoreFunctionInfo::getSpillLabels ( )
inline

◆ getVarArgsFrameIndex()

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

Definition at line 57 of file XCoreMachineFunctionInfo.h.

◆ hasEHSpillSlot()

bool llvm::XCoreFunctionInfo::hasEHSpillSlot ( )
inline

◆ hasFPSpillSlot()

bool llvm::XCoreFunctionInfo::hasFPSpillSlot ( )
inline

Definition at line 67 of file XCoreMachineFunctionInfo.h.

◆ hasLRSpillSlot()

bool llvm::XCoreFunctionInfo::hasLRSpillSlot ( )
inline

◆ isLargeFrame()

bool XCoreFunctionInfo::isLargeFrame ( const MachineFunction MF) const

◆ setReturnStackOffset()

void llvm::XCoreFunctionInfo::setReturnStackOffset ( unsigned  value)
inline

Definition at line 80 of file XCoreMachineFunctionInfo.h.

References assert(), and value.

◆ setVarArgsFrameIndex()

void llvm::XCoreFunctionInfo::setVarArgsFrameIndex ( int  off)
inline

Definition at line 56 of file XCoreMachineFunctionInfo.h.


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