LLVM 20.0.0git
Public Member Functions | List of all members
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:
Inheritance graph
[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, MachineOperand *JTIMO)
 
unsigned getJumpInfoSize ()
 
MachineInstrgetJumpInfoJrMI (unsigned Idx)
 
MachineOperandgetJumpInfoJTIMO (unsigned Idx)
 
- 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

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.

Member Function Documentation

◆ addSExt32Register()

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

◆ 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 llvm::MachineFunction::cloneInfo().

◆ 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.

References Idx.

◆ getJumpInfoJTIMO()

MachineOperand * llvm::LoongArchMachineFunctionInfo::getJumpInfoJTIMO ( unsigned  Idx)
inline

Definition at line 84 of file LoongArchMachineFunctionInfo.h.

References Idx.

◆ 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,
MachineOperand JTIMO 
)
inline

◆ setVarArgsFrameIndex()

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

Definition at line 58 of file LoongArchMachineFunctionInfo.h.

References Index.

◆ 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: