LLVM  17.0.0git
Public Member Functions | List of all members
llvm::HexagonMachineFunctionInfo Class Reference

Hexagon target-specific information for each MachineFunction. More...

#include "Target/Hexagon/HexagonMachineFunctionInfo.h"

Inheritance diagram for llvm::HexagonMachineFunctionInfo:
Inheritance graph
[legend]
Collaboration diagram for llvm::HexagonMachineFunctionInfo:
Collaboration graph
[legend]

Public Member Functions

 HexagonMachineFunctionInfo ()=default
 
 HexagonMachineFunctionInfo (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. More...
 
unsigned getSRetReturnReg () const
 
void setSRetReturnReg (unsigned Reg)
 
void setVarArgsFrameIndex (int v)
 
int getVarArgsFrameIndex ()
 
void setRegSavedAreaStartFrameIndex (int v)
 
int getRegSavedAreaStartFrameIndex ()
 
void setFirstNamedArgFrameIndex (int v)
 
int getFirstNamedArgFrameIndex ()
 
void setLastNamedArgFrameIndex (int v)
 
int getLastNamedArgFrameIndex ()
 
void setStartPacket (MachineInstr *MI)
 
void setEndPacket (MachineInstr *MI)
 
bool isStartPacket (const MachineInstr *MI) const
 
bool isEndPacket (const MachineInstr *MI) const
 
void setHasClobberLR (bool v)
 
bool hasClobberLR () const
 
bool hasEHReturn () const
 
void setHasEHReturn (bool H=true)
 
void setStackAlignBaseReg (Register R)
 
Register getStackAlignBaseReg () const
 
- Public Member Functions inherited from llvm::MachineFunctionInfo
virtual ~MachineFunctionInfo ()
 

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. More...
 
template<typename Ty >
static Ty * create (BumpPtrAllocator &Allocator, const Ty &MFI)
 

Detailed Description

Hexagon target-specific information for each MachineFunction.

Definition at line 25 of file HexagonMachineFunctionInfo.h.

Constructor & Destructor Documentation

◆ HexagonMachineFunctionInfo() [1/2]

llvm::HexagonMachineFunctionInfo::HexagonMachineFunctionInfo ( )
default

◆ HexagonMachineFunctionInfo() [2/2]

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

Definition at line 43 of file HexagonMachineFunctionInfo.h.

Member Function Documentation

◆ clone()

MachineFunctionInfo * HexagonMachineFunctionInfo::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 16 of file HexagonMachineFunctionInfo.cpp.

References llvm::MachineFunction::cloneInfo().

◆ getFirstNamedArgFrameIndex()

int llvm::HexagonMachineFunctionInfo::getFirstNamedArgFrameIndex ( )
inline

Definition at line 61 of file HexagonMachineFunctionInfo.h.

◆ getLastNamedArgFrameIndex()

int llvm::HexagonMachineFunctionInfo::getLastNamedArgFrameIndex ( )
inline

Definition at line 64 of file HexagonMachineFunctionInfo.h.

◆ getRegSavedAreaStartFrameIndex()

int llvm::HexagonMachineFunctionInfo::getRegSavedAreaStartFrameIndex ( )
inline

Definition at line 58 of file HexagonMachineFunctionInfo.h.

◆ getSRetReturnReg()

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

Definition at line 51 of file HexagonMachineFunctionInfo.h.

◆ getStackAlignBaseReg()

Register llvm::HexagonMachineFunctionInfo::getStackAlignBaseReg ( ) const
inline

Definition at line 87 of file HexagonMachineFunctionInfo.h.

◆ getVarArgsFrameIndex()

int llvm::HexagonMachineFunctionInfo::getVarArgsFrameIndex ( )
inline

◆ hasClobberLR()

bool llvm::HexagonMachineFunctionInfo::hasClobberLR ( ) const
inline

Definition at line 81 of file HexagonMachineFunctionInfo.h.

◆ hasEHReturn()

bool llvm::HexagonMachineFunctionInfo::hasEHReturn ( ) const
inline

◆ isEndPacket()

bool llvm::HexagonMachineFunctionInfo::isEndPacket ( const MachineInstr MI) const
inline

Definition at line 76 of file HexagonMachineFunctionInfo.h.

References llvm::Hexagon::EndPacket, and MI.

◆ isStartPacket()

bool llvm::HexagonMachineFunctionInfo::isStartPacket ( const MachineInstr MI) const
inline

Definition at line 72 of file HexagonMachineFunctionInfo.h.

References MI, and llvm::Hexagon::StartPacket.

◆ setEndPacket()

void llvm::HexagonMachineFunctionInfo::setEndPacket ( MachineInstr MI)
inline

Definition at line 69 of file HexagonMachineFunctionInfo.h.

References llvm::Hexagon::EndPacket, and MI.

◆ setFirstNamedArgFrameIndex()

void llvm::HexagonMachineFunctionInfo::setFirstNamedArgFrameIndex ( int  v)
inline

◆ setHasClobberLR()

void llvm::HexagonMachineFunctionInfo::setHasClobberLR ( bool  v)
inline

Definition at line 80 of file HexagonMachineFunctionInfo.h.

◆ setHasEHReturn()

void llvm::HexagonMachineFunctionInfo::setHasEHReturn ( bool  H = true)
inline

Definition at line 84 of file HexagonMachineFunctionInfo.h.

References H.

Referenced by llvm::HexagonTargetLowering::LowerEH_RETURN().

◆ setLastNamedArgFrameIndex()

void llvm::HexagonMachineFunctionInfo::setLastNamedArgFrameIndex ( int  v)
inline

Definition at line 63 of file HexagonMachineFunctionInfo.h.

◆ setRegSavedAreaStartFrameIndex()

void llvm::HexagonMachineFunctionInfo::setRegSavedAreaStartFrameIndex ( int  v)
inline

Definition at line 57 of file HexagonMachineFunctionInfo.h.

◆ setSRetReturnReg()

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

Definition at line 52 of file HexagonMachineFunctionInfo.h.

◆ setStackAlignBaseReg()

void llvm::HexagonMachineFunctionInfo::setStackAlignBaseReg ( Register  R)
inline

Definition at line 86 of file HexagonMachineFunctionInfo.h.

◆ setStartPacket()

void llvm::HexagonMachineFunctionInfo::setStartPacket ( MachineInstr MI)
inline

Definition at line 66 of file HexagonMachineFunctionInfo.h.

References MI, and llvm::Hexagon::StartPacket.

◆ setVarArgsFrameIndex()

void llvm::HexagonMachineFunctionInfo::setVarArgsFrameIndex ( int  v)
inline

Definition at line 54 of file HexagonMachineFunctionInfo.h.


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