LLVM 17.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)
 
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 75 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 122 of file RISCVMachineFunctionInfo.h.

◆ getLibCallStackSize()

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

Definition at line 102 of file RISCVMachineFunctionInfo.h.

◆ getMoveF64FrameIndex()

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

◆ getRVVPadding()

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

Definition at line 119 of file RISCVMachineFunctionInfo.h.

◆ getRVVStackAlign()

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

Definition at line 116 of file RISCVMachineFunctionInfo.h.

◆ getRVVStackSize()

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

Definition at line 113 of file RISCVMachineFunctionInfo.h.

◆ getVarArgsFrameIndex()

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

Definition at line 82 of file RISCVMachineFunctionInfo.h.

◆ getVarArgsSaveSize()

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

Definition at line 85 of file RISCVMachineFunctionInfo.h.

◆ initializeBaseYamlFields()

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

◆ 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 130 of file RISCVMachineFunctionInfo.h.

◆ setBranchRelaxationScratchFrameIndex()

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

Definition at line 98 of file RISCVMachineFunctionInfo.h.

◆ setCalleeSavedStackSize()

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

Definition at line 123 of file RISCVMachineFunctionInfo.h.

References Size.

◆ setIsVectorCall()

void llvm::RISCVMachineFunctionInfo::setIsVectorCall ( )
inline

Definition at line 131 of file RISCVMachineFunctionInfo.h.

◆ setLibCallStackSize()

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

Definition at line 103 of file RISCVMachineFunctionInfo.h.

References Size.

◆ setRVVPadding()

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

Definition at line 120 of file RISCVMachineFunctionInfo.h.

◆ setRVVStackAlign()

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

Definition at line 117 of file RISCVMachineFunctionInfo.h.

◆ setRVVStackSize()

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

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