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 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)
 
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()

llvm::RISCVMachineFunctionInfo::RISCVMachineFunctionInfo ( const Function F,
const TargetSubtargetInfo STI 
)
inline

Definition at line 80 of file RISCVMachineFunctionInfo.h.

Member Function Documentation

◆ addSExt32Register()

void RISCVMachineFunctionInfo::addSExt32Register ( Register  Reg)

Definition at line 39 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 22 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 132 of file RISCVMachineFunctionInfo.h.

◆ getLibCallStackSize()

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

Definition at line 111 of file RISCVMachineFunctionInfo.h.

◆ getMoveF64FrameIndex()

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

◆ getReservedSpillsSize()

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

Definition at line 107 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 150 of file RISCVMachineFunctionInfo.h.

◆ getRVVPadding()

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

Definition at line 129 of file RISCVMachineFunctionInfo.h.

◆ getRVVStackAlign()

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

Definition at line 126 of file RISCVMachineFunctionInfo.h.

◆ getRVVStackSize()

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

Definition at line 123 of file RISCVMachineFunctionInfo.h.

◆ getVarArgsFrameIndex()

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

Definition at line 87 of file RISCVMachineFunctionInfo.h.

◆ getVarArgsSaveSize()

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

Definition at line 90 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 43 of file RISCVMachineFunctionInfo.cpp.

References llvm::is_contained().

Referenced by isSignExtendedW().

◆ isVectorCall()

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

Definition at line 158 of file RISCVMachineFunctionInfo.h.

◆ setBranchRelaxationScratchFrameIndex()

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

Definition at line 103 of file RISCVMachineFunctionInfo.h.

◆ setCalleeSavedStackSize()

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

Definition at line 133 of file RISCVMachineFunctionInfo.h.

References Size.

◆ setIsVectorCall()

void llvm::RISCVMachineFunctionInfo::setIsVectorCall ( )
inline

Definition at line 159 of file RISCVMachineFunctionInfo.h.

◆ setLibCallStackSize()

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

Definition at line 112 of file RISCVMachineFunctionInfo.h.

References Size.

◆ setRVPushRegs()

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

Definition at line 148 of file RISCVMachineFunctionInfo.h.

◆ setRVPushRlist()

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

Definition at line 145 of file RISCVMachineFunctionInfo.h.

◆ setRVPushStackSize()

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

Definition at line 151 of file RISCVMachineFunctionInfo.h.

References Size.

◆ setRVVPadding()

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

Definition at line 130 of file RISCVMachineFunctionInfo.h.

◆ setRVVStackAlign()

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

Definition at line 127 of file RISCVMachineFunctionInfo.h.

◆ setRVVStackSize()

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

Definition at line 124 of file RISCVMachineFunctionInfo.h.

References Size.

◆ setVarArgsFrameIndex()

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

◆ setVarArgsSaveSize()

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

Definition at line 91 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: