LLVM 22.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)
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)
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 25 of file LoongArchMachineFunctionInfo.h.

Constructor & Destructor Documentation

◆ LoongArchMachineFunctionInfo()

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

Definition at line 47 of file LoongArchMachineFunctionInfo.h.

References F.

Referenced by clone().

Member Function Documentation

◆ addSExt32Register()

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

Definition at line 73 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 51 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 63 of file LoongArchMachineFunctionInfo.h.

◆ getJumpInfoJrMI()

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

Definition at line 83 of file LoongArchMachineFunctionInfo.h.

◆ getJumpInfoJTIIndex()

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

Definition at line 84 of file LoongArchMachineFunctionInfo.h.

◆ getJumpInfoSize()

unsigned llvm::LoongArchMachineFunctionInfo::getJumpInfoSize ( )
inline

◆ getVarArgsFrameIndex()

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

Definition at line 57 of file LoongArchMachineFunctionInfo.h.

◆ getVarArgsSaveSize()

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

Definition at line 60 of file LoongArchMachineFunctionInfo.h.

◆ isSExt32Register()

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

Definition at line 75 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 64 of file LoongArchMachineFunctionInfo.h.

References Size.

◆ setJumpInfo()

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

Definition at line 79 of file LoongArchMachineFunctionInfo.h.

◆ setVarArgsFrameIndex()

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

Definition at line 58 of file LoongArchMachineFunctionInfo.h.

◆ setVarArgsSaveSize()

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

Definition at line 61 of file LoongArchMachineFunctionInfo.h.

References Size.


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