LLVM 20.0.0git
Public Member Functions | List of all members
llvm::RISCVMachineFunctionInfo Class Reference

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

#include "Target/RISCV/RISCVMachineFunctionInfo.h"

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

Public Member Functions

 RISCVMachineFunctionInfo (const Function &F, const RISCVSubtarget *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)
 
int getMoveF64FrameIndex (MachineFunction &MF)
 
int getBranchRelaxationScratchFrameIndex () const
 
void setBranchRelaxationScratchFrameIndex (int Index)
 
unsigned getReservedSpillsSize () const
 
unsigned getLibCallStackSize () const
 
void setLibCallStackSize (unsigned Size)
 
bool useSaveRestoreLibCalls (const MachineFunction &MF) const
 
uint64_t getRVVStackSize () const
 
void setRVVStackSize (uint64_t Size)
 
Align getRVVStackAlign () const
 
void setRVVStackAlign (Align StackAlign)
 
uint64_t getRVVPadding () const
 
void setRVVPadding (uint64_t Padding)
 
unsigned getCalleeSavedStackSize () const
 
void setCalleeSavedStackSize (unsigned Size)
 
bool isPushable (const MachineFunction &MF) const
 
int getRVPushRlist () const
 
void setRVPushRlist (int Rlist)
 
unsigned getRVPushRegs () const
 
void setRVPushRegs (unsigned Regs)
 
unsigned getRVPushStackSize () const
 
void setRVPushStackSize (unsigned Size)
 
void initializeBaseYamlFields (const yaml::RISCVMachineFunctionInfo &YamlMFI)
 
void addSExt32Register (Register Reg)
 
bool isSExt32Register (Register Reg) const
 
bool isVectorCall () const
 
void setIsVectorCall ()
 
- 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

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

Definition at line 47 of file RISCVMachineFunctionInfo.h.

Constructor & Destructor Documentation

◆ RISCVMachineFunctionInfo()

RISCVMachineFunctionInfo::RISCVMachineFunctionInfo ( const Function F,
const RISCVSubtarget STI 
)

Member Function Documentation

◆ addSExt32Register()

void RISCVMachineFunctionInfo::addSExt32Register ( Register  Reg)

Definition at line 69 of file RISCVMachineFunctionInfo.cpp.

Referenced by unpackFromRegLoc().

◆ clone()

MachineFunctionInfo * RISCVMachineFunctionInfo::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 23 of file RISCVMachineFunctionInfo.cpp.

References llvm::MachineFunction::cloneInfo().

◆ getBranchRelaxationScratchFrameIndex()

int llvm::RISCVMachineFunctionInfo::getBranchRelaxationScratchFrameIndex ( ) const
inline

◆ getCalleeSavedStackSize()

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

Definition at line 134 of file RISCVMachineFunctionInfo.h.

◆ getLibCallStackSize()

unsigned llvm::RISCVMachineFunctionInfo::getLibCallStackSize ( ) const
inline

Definition at line 113 of file RISCVMachineFunctionInfo.h.

◆ getMoveF64FrameIndex()

int llvm::RISCVMachineFunctionInfo::getMoveF64FrameIndex ( MachineFunction MF)
inline

◆ getReservedSpillsSize()

unsigned llvm::RISCVMachineFunctionInfo::getReservedSpillsSize ( ) const
inline

Definition at line 109 of file RISCVMachineFunctionInfo.h.

◆ getRVPushRegs()

unsigned llvm::RISCVMachineFunctionInfo::getRVPushRegs ( ) const
inline

◆ getRVPushRlist()

int llvm::RISCVMachineFunctionInfo::getRVPushRlist ( ) const
inline

◆ getRVPushStackSize()

unsigned llvm::RISCVMachineFunctionInfo::getRVPushStackSize ( ) const
inline

Definition at line 152 of file RISCVMachineFunctionInfo.h.

◆ getRVVPadding()

uint64_t llvm::RISCVMachineFunctionInfo::getRVVPadding ( ) const
inline

Definition at line 131 of file RISCVMachineFunctionInfo.h.

◆ getRVVStackAlign()

Align llvm::RISCVMachineFunctionInfo::getRVVStackAlign ( ) const
inline

Definition at line 128 of file RISCVMachineFunctionInfo.h.

◆ getRVVStackSize()

uint64_t llvm::RISCVMachineFunctionInfo::getRVVStackSize ( ) const
inline

Definition at line 125 of file RISCVMachineFunctionInfo.h.

◆ getVarArgsFrameIndex()

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

Definition at line 89 of file RISCVMachineFunctionInfo.h.

◆ getVarArgsSaveSize()

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

Definition at line 92 of file RISCVMachineFunctionInfo.h.

◆ initializeBaseYamlFields()

void RISCVMachineFunctionInfo::initializeBaseYamlFields ( const yaml::RISCVMachineFunctionInfo YamlMFI)

◆ isPushable()

bool llvm::RISCVMachineFunctionInfo::isPushable ( const MachineFunction MF) const
inline

◆ isSExt32Register()

bool RISCVMachineFunctionInfo::isSExt32Register ( Register  Reg) const

Definition at line 73 of file RISCVMachineFunctionInfo.cpp.

References llvm::is_contained().

Referenced by isSignExtendedW().

◆ isVectorCall()

bool llvm::RISCVMachineFunctionInfo::isVectorCall ( ) const
inline

Definition at line 160 of file RISCVMachineFunctionInfo.h.

◆ setBranchRelaxationScratchFrameIndex()

void llvm::RISCVMachineFunctionInfo::setBranchRelaxationScratchFrameIndex ( int  Index)
inline

Definition at line 105 of file RISCVMachineFunctionInfo.h.

References Index.

◆ setCalleeSavedStackSize()

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

Definition at line 135 of file RISCVMachineFunctionInfo.h.

References Size.

◆ setIsVectorCall()

void llvm::RISCVMachineFunctionInfo::setIsVectorCall ( )
inline

Definition at line 161 of file RISCVMachineFunctionInfo.h.

◆ setLibCallStackSize()

void llvm::RISCVMachineFunctionInfo::setLibCallStackSize ( unsigned  Size)
inline

Definition at line 114 of file RISCVMachineFunctionInfo.h.

References Size.

◆ setRVPushRegs()

void llvm::RISCVMachineFunctionInfo::setRVPushRegs ( unsigned  Regs)
inline

Definition at line 150 of file RISCVMachineFunctionInfo.h.

◆ setRVPushRlist()

void llvm::RISCVMachineFunctionInfo::setRVPushRlist ( int  Rlist)
inline

Definition at line 147 of file RISCVMachineFunctionInfo.h.

◆ setRVPushStackSize()

void llvm::RISCVMachineFunctionInfo::setRVPushStackSize ( unsigned  Size)
inline

Definition at line 153 of file RISCVMachineFunctionInfo.h.

References Size.

◆ setRVVPadding()

void llvm::RISCVMachineFunctionInfo::setRVVPadding ( uint64_t  Padding)
inline

Definition at line 132 of file RISCVMachineFunctionInfo.h.

◆ setRVVStackAlign()

void llvm::RISCVMachineFunctionInfo::setRVVStackAlign ( Align  StackAlign)
inline

Definition at line 129 of file RISCVMachineFunctionInfo.h.

◆ setRVVStackSize()

void llvm::RISCVMachineFunctionInfo::setRVVStackSize ( uint64_t  Size)
inline

Definition at line 126 of file RISCVMachineFunctionInfo.h.

References Size.

◆ setVarArgsFrameIndex()

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

Definition at line 90 of file RISCVMachineFunctionInfo.h.

References Index.

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

◆ setVarArgsSaveSize()

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

Definition at line 93 of file RISCVMachineFunctionInfo.h.

References Size.

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

◆ useSaveRestoreLibCalls()

bool llvm::RISCVMachineFunctionInfo::useSaveRestoreLibCalls ( const MachineFunction MF) const
inline

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