LLVM 23.0.0git
llvm::LoongArchMachineFunctionInfo Class Reference

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

#include "Target/LoongArch/LoongArchMachineFunctionInfo.h"

Inheritance diagram for llvm::LoongArchMachineFunctionInfo:
[legend]

Public Member Functions

 LoongArchMachineFunctionInfo (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.
int getVarArgsFrameIndex () const
void setVarArgsFrameIndex (int Index)
unsigned getVarArgsSaveSize () const
void setVarArgsSaveSize (int Size)
unsigned getCalleeSavedStackSize () const
void setCalleeSavedStackSize (unsigned Size)
void setIncomingIndirectArg (unsigned ArgIndex, Register Reg)
Register getIncomingIndirectArg (unsigned ArgIndex) const
int getBranchRelaxationSpillFrameIndex ()
void setBranchRelaxationSpillFrameIndex (int Index)
void addSExt32Register (Register Reg)
bool isSExt32Register (Register Reg) const
void setJumpInfo (MachineInstr *JrMI, int JTIIdx)
unsigned getJumpInfoSize ()
MachineInstrgetJumpInfoJrMI (unsigned Idx)
int getJumpInfoJTIIndex (unsigned Idx)
bool hasDynamicAllocation () const
void setDynamicAllocation ()
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<typename Ty>
static Ty * create (BumpPtrAllocator &Allocator, const Ty &MFI)

Detailed Description

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

Definition at line 26 of file LoongArchMachineFunctionInfo.h.

Constructor & Destructor Documentation

◆ LoongArchMachineFunctionInfo()

llvm::LoongArchMachineFunctionInfo::LoongArchMachineFunctionInfo ( const Function & F,
const TargetSubtargetInfo * STI )
inline

Definition at line 57 of file LoongArchMachineFunctionInfo.h.

References F.

Referenced by clone().

Member Function Documentation

◆ addSExt32Register()

void llvm::LoongArchMachineFunctionInfo::addSExt32Register ( Register Reg)
inline

Definition at line 92 of file LoongArchMachineFunctionInfo.h.

References Reg.

Referenced by unpackFromRegLoc().

◆ clone()

MachineFunctionInfo * llvm::LoongArchMachineFunctionInfo::clone ( BumpPtrAllocator & Allocator,
MachineFunction & DestMF,
const DenseMap< MachineBasicBlock *, MachineBasicBlock * > & Src2DstMBB ) const
inlineoverridevirtual

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 61 of file LoongArchMachineFunctionInfo.h.

References Allocator, llvm::MachineFunction::cloneInfo(), and LoongArchMachineFunctionInfo().

◆ getBranchRelaxationSpillFrameIndex()

int llvm::LoongArchMachineFunctionInfo::getBranchRelaxationSpillFrameIndex ( )
inline

◆ getCalleeSavedStackSize()

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

Definition at line 73 of file LoongArchMachineFunctionInfo.h.

◆ getIncomingIndirectArg()

Register llvm::LoongArchMachineFunctionInfo::getIncomingIndirectArg ( unsigned ArgIndex) const
inline

Definition at line 79 of file LoongArchMachineFunctionInfo.h.

References assert().

Referenced by llvm::LoongArchTargetLowering::LowerCall().

◆ getJumpInfoJrMI()

MachineInstr * llvm::LoongArchMachineFunctionInfo::getJumpInfoJrMI ( unsigned Idx)
inline

Definition at line 102 of file LoongArchMachineFunctionInfo.h.

◆ getJumpInfoJTIIndex()

int llvm::LoongArchMachineFunctionInfo::getJumpInfoJTIIndex ( unsigned Idx)
inline

Definition at line 103 of file LoongArchMachineFunctionInfo.h.

◆ getJumpInfoSize()

unsigned llvm::LoongArchMachineFunctionInfo::getJumpInfoSize ( )
inline

◆ getVarArgsFrameIndex()

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

Definition at line 67 of file LoongArchMachineFunctionInfo.h.

◆ getVarArgsSaveSize()

unsigned llvm::LoongArchMachineFunctionInfo::getVarArgsSaveSize ( ) const
inline

Definition at line 70 of file LoongArchMachineFunctionInfo.h.

◆ hasDynamicAllocation()

bool llvm::LoongArchMachineFunctionInfo::hasDynamicAllocation ( ) const
inline

Definition at line 105 of file LoongArchMachineFunctionInfo.h.

◆ isSExt32Register()

bool llvm::LoongArchMachineFunctionInfo::isSExt32Register ( Register Reg) const
inline

Definition at line 94 of file LoongArchMachineFunctionInfo.h.

References llvm::is_contained(), and Reg.

Referenced by isSignExtendedW().

◆ setBranchRelaxationSpillFrameIndex()

void llvm::LoongArchMachineFunctionInfo::setBranchRelaxationSpillFrameIndex ( int Index)
inline

◆ setCalleeSavedStackSize()

void llvm::LoongArchMachineFunctionInfo::setCalleeSavedStackSize ( unsigned Size)
inline

Definition at line 74 of file LoongArchMachineFunctionInfo.h.

References Size.

◆ setDynamicAllocation()

void llvm::LoongArchMachineFunctionInfo::setDynamicAllocation ( )
inline

Definition at line 106 of file LoongArchMachineFunctionInfo.h.

◆ setIncomingIndirectArg()

void llvm::LoongArchMachineFunctionInfo::setIncomingIndirectArg ( unsigned ArgIndex,
Register Reg )
inline

Definition at line 76 of file LoongArchMachineFunctionInfo.h.

References Reg.

Referenced by llvm::LoongArchTargetLowering::LowerFormalArguments().

◆ setJumpInfo()

void llvm::LoongArchMachineFunctionInfo::setJumpInfo ( MachineInstr * JrMI,
int JTIIdx )
inline

Definition at line 98 of file LoongArchMachineFunctionInfo.h.

◆ setVarArgsFrameIndex()

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

Definition at line 68 of file LoongArchMachineFunctionInfo.h.

◆ setVarArgsSaveSize()

void llvm::LoongArchMachineFunctionInfo::setVarArgsSaveSize ( int Size)
inline

Definition at line 71 of file LoongArchMachineFunctionInfo.h.

References Size.


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