LLVM 19.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::MipsFunctionInfo Class Reference

MipsFunctionInfo - This class is derived from MachineFunction private Mips target-specific information for each MachineFunction. More...

#include "Target/Mips/MipsMachineFunction.h"

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

Public Member Functions

 MipsFunctionInfo (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.
 
 ~MipsFunctionInfo () override
 
unsigned getSRetReturnReg () const
 
void setSRetReturnReg (unsigned Reg)
 
bool globalBaseRegSet () const
 
Register getGlobalBaseReg (MachineFunction &MF)
 
Register getGlobalBaseRegForGlobalISel (MachineFunction &MF)
 
void initGlobalBaseReg (MachineFunction &MF)
 
int getVarArgsFrameIndex () const
 
void setVarArgsFrameIndex (int Index)
 
bool hasByvalArg () const
 
void setFormalArgInfo (unsigned Size, bool HasByval)
 
unsigned getIncomingArgSize () const
 
bool callsEhReturn () const
 
void setCallsEhReturn ()
 
void createEhDataRegsFI (MachineFunction &MF)
 
int getEhDataRegFI (unsigned Reg) const
 
bool isEhDataRegFI (int FI) const
 
MachinePointerInfo callPtrInfo (MachineFunction &MF, const char *ES)
 Create a MachinePointerInfo that has an ExternalSymbolPseudoSourceValue object representing a GOT entry for an external function.
 
bool isISR () const
 
void setISR ()
 
void createISRRegFI (MachineFunction &MF)
 
int getISRRegFI (Register Reg) const
 
bool isISRRegFI (int FI) const
 
MachinePointerInfo callPtrInfo (MachineFunction &MF, const GlobalValue *GV)
 Create a MachinePointerInfo that has a GlobalValuePseudoSourceValue object representing a GOT entry for a global function.
 
void setSaveS2 ()
 
bool hasSaveS2 () const
 
int getMoveF64ViaSpillFI (MachineFunction &MF, const TargetRegisterClass *RC)
 
- 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.
 

Public Attributes

std::map< const char *, const Mips16HardFloatInfo::FuncSignature * > StubsNeeded
 

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

MipsFunctionInfo - This class is derived from MachineFunction private Mips target-specific information for each MachineFunction.

Definition at line 25 of file MipsMachineFunction.h.

Constructor & Destructor Documentation

◆ MipsFunctionInfo()

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

Definition at line 27 of file MipsMachineFunction.h.

◆ ~MipsFunctionInfo()

MipsFunctionInfo::~MipsFunctionInfo ( )
overridedefault

Member Function Documentation

◆ callPtrInfo() [1/2]

MachinePointerInfo MipsFunctionInfo::callPtrInfo ( MachineFunction MF,
const char ES 
)

Create a MachinePointerInfo that has an ExternalSymbolPseudoSourceValue object representing a GOT entry for an external function.

Definition at line 191 of file MipsMachineFunction.cpp.

References llvm::PseudoSourceValueManager::getExternalSymbolCallEntry(), and llvm::MachineFunction::getPSVManager().

◆ callPtrInfo() [2/2]

MachinePointerInfo MipsFunctionInfo::callPtrInfo ( MachineFunction MF,
const GlobalValue GV 
)

Create a MachinePointerInfo that has a GlobalValuePseudoSourceValue object representing a GOT entry for a global function.

Definition at line 196 of file MipsMachineFunction.cpp.

References llvm::PseudoSourceValueManager::getGlobalValueCallEntry(), and llvm::MachineFunction::getPSVManager().

◆ callsEhReturn()

bool llvm::MipsFunctionInfo::callsEhReturn ( ) const
inline

◆ clone()

MachineFunctionInfo * MipsFunctionInfo::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 27 of file MipsMachineFunction.cpp.

References llvm::MachineFunction::cloneInfo().

◆ createEhDataRegsFI()

void MipsFunctionInfo::createEhDataRegsFI ( MachineFunction MF)

◆ createISRRegFI()

void MipsFunctionInfo::createISRRegFI ( MachineFunction MF)

◆ getEhDataRegFI()

int llvm::MipsFunctionInfo::getEhDataRegFI ( unsigned  Reg) const
inline

◆ getGlobalBaseReg()

Register MipsFunctionInfo::getGlobalBaseReg ( MachineFunction MF)

◆ getGlobalBaseRegForGlobalISel()

Register MipsFunctionInfo::getGlobalBaseRegForGlobalISel ( MachineFunction MF)

Definition at line 62 of file MipsMachineFunction.cpp.

References getGlobalBaseReg(), and initGlobalBaseReg().

Referenced by llvm::MipsCallLowering::lowerCall().

◆ getIncomingArgSize()

unsigned llvm::MipsFunctionInfo::getIncomingArgSize ( ) const
inline

Definition at line 56 of file MipsMachineFunction.h.

◆ getISRRegFI()

int llvm::MipsFunctionInfo::getISRRegFI ( Register  Reg) const
inline

Definition at line 74 of file MipsMachineFunction.h.

References Reg.

◆ getMoveF64ViaSpillFI()

int MipsFunctionInfo::getMoveF64ViaSpillFI ( MachineFunction MF,
const TargetRegisterClass RC 
)

◆ getSRetReturnReg()

unsigned llvm::MipsFunctionInfo::getSRetReturnReg ( ) const
inline

Definition at line 36 of file MipsMachineFunction.h.

◆ getVarArgsFrameIndex()

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

Definition at line 47 of file MipsMachineFunction.h.

◆ globalBaseRegSet()

bool MipsFunctionInfo::globalBaseRegSet ( ) const

Definition at line 35 of file MipsMachineFunction.cpp.

◆ hasByvalArg()

bool llvm::MipsFunctionInfo::hasByvalArg ( ) const
inline

Definition at line 50 of file MipsMachineFunction.h.

◆ hasSaveS2()

bool llvm::MipsFunctionInfo::hasSaveS2 ( ) const
inline

Definition at line 82 of file MipsMachineFunction.h.

Referenced by llvm::MipsRegisterInfo::getReservedRegs().

◆ initGlobalBaseReg()

void MipsFunctionInfo::initGlobalBaseReg ( MachineFunction MF)

◆ isEhDataRegFI()

bool MipsFunctionInfo::isEhDataRegFI ( int  FI) const

Definition at line 183 of file MipsMachineFunction.cpp.

◆ isISR()

bool llvm::MipsFunctionInfo::isISR ( ) const
inline

◆ isISRRegFI()

bool MipsFunctionInfo::isISRRegFI ( int  FI) const

Definition at line 188 of file MipsMachineFunction.cpp.

◆ setCallsEhReturn()

void llvm::MipsFunctionInfo::setCallsEhReturn ( )
inline

Definition at line 59 of file MipsMachineFunction.h.

◆ setFormalArgInfo()

void llvm::MipsFunctionInfo::setFormalArgInfo ( unsigned  Size,
bool  HasByval 
)
inline

Definition at line 51 of file MipsMachineFunction.h.

References Size.

◆ setISR()

void llvm::MipsFunctionInfo::setISR ( )
inline

Definition at line 72 of file MipsMachineFunction.h.

◆ setSaveS2()

void llvm::MipsFunctionInfo::setSaveS2 ( )
inline

Definition at line 81 of file MipsMachineFunction.h.

◆ setSRetReturnReg()

void llvm::MipsFunctionInfo::setSRetReturnReg ( unsigned  Reg)
inline

Definition at line 37 of file MipsMachineFunction.h.

References Reg.

◆ setVarArgsFrameIndex()

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

Definition at line 48 of file MipsMachineFunction.h.

Member Data Documentation

◆ StubsNeeded

std::map<const char *, const Mips16HardFloatInfo::FuncSignature *> llvm::MipsFunctionInfo::StubsNeeded

Definition at line 87 of file MipsMachineFunction.h.

Referenced by llvm::MipsAsmPrinter::runOnMachineFunction().


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