LLVM 18.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 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 128 of file RISCVMachineFunctionInfo.h.

◆ getLibCallStackSize()

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

Definition at line 107 of file RISCVMachineFunctionInfo.h.

◆ getMoveF64FrameIndex()

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

◆ getRVPushRegs()

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

◆ getRVPushRlist()

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

◆ getRVPushStackSize()

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

Definition at line 146 of file RISCVMachineFunctionInfo.h.

◆ getRVVPadding()

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

Definition at line 125 of file RISCVMachineFunctionInfo.h.

◆ getRVVStackAlign()

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

Definition at line 122 of file RISCVMachineFunctionInfo.h.

◆ getRVVStackSize()

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

Definition at line 119 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 154 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 129 of file RISCVMachineFunctionInfo.h.

References Size.

◆ setIsVectorCall()

void llvm::RISCVMachineFunctionInfo::setIsVectorCall ( )
inline

Definition at line 155 of file RISCVMachineFunctionInfo.h.

◆ setLibCallStackSize()

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

Definition at line 108 of file RISCVMachineFunctionInfo.h.

References Size.

◆ setRVPushRegs()

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

◆ setRVPushRlist()

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

◆ setRVPushStackSize()

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

Definition at line 147 of file RISCVMachineFunctionInfo.h.

References Size.

Referenced by llvm::RISCVFrameLowering::spillCalleeSavedRegisters().

◆ setRVVPadding()

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

Definition at line 126 of file RISCVMachineFunctionInfo.h.

◆ setRVVStackAlign()

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

Definition at line 123 of file RISCVMachineFunctionInfo.h.

◆ setRVVStackSize()

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

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