LLVM  16.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 (MachineFunction &MF)
 
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 setStackAlignBaseVReg (unsigned R)
 
unsigned getStackAlignBaseVReg () const
 
void setStackAlignBasePhysReg (unsigned R)
 
unsigned getStackAlignBasePhysReg () const
 
- Public Member Functions inherited from llvm::MachineFunctionInfo
virtual ~MachineFunctionInfo ()
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::MachineFunctionInfo
template<typename Ty >
static Ty * create (BumpPtrAllocator &Allocator, MachineFunction &MF)
 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 ( MachineFunction MF)
inline

Definition at line 44 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 60 of file HexagonMachineFunctionInfo.h.

◆ getLastNamedArgFrameIndex()

int llvm::HexagonMachineFunctionInfo::getLastNamedArgFrameIndex ( )
inline

Definition at line 63 of file HexagonMachineFunctionInfo.h.

◆ getRegSavedAreaStartFrameIndex()

int llvm::HexagonMachineFunctionInfo::getRegSavedAreaStartFrameIndex ( )
inline

Definition at line 57 of file HexagonMachineFunctionInfo.h.

◆ getSRetReturnReg()

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

Definition at line 50 of file HexagonMachineFunctionInfo.h.

◆ getStackAlignBasePhysReg()

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

Definition at line 89 of file HexagonMachineFunctionInfo.h.

◆ getStackAlignBaseVReg()

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

◆ getVarArgsFrameIndex()

int llvm::HexagonMachineFunctionInfo::getVarArgsFrameIndex ( )
inline

◆ hasClobberLR()

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

Definition at line 80 of file HexagonMachineFunctionInfo.h.

◆ hasEHReturn()

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

◆ isEndPacket()

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

Definition at line 75 of file HexagonMachineFunctionInfo.h.

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

◆ isStartPacket()

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

Definition at line 71 of file HexagonMachineFunctionInfo.h.

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

◆ setEndPacket()

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

Definition at line 68 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 79 of file HexagonMachineFunctionInfo.h.

◆ setHasEHReturn()

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

Definition at line 83 of file HexagonMachineFunctionInfo.h.

References H.

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

◆ setLastNamedArgFrameIndex()

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

Definition at line 62 of file HexagonMachineFunctionInfo.h.

◆ setRegSavedAreaStartFrameIndex()

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

Definition at line 56 of file HexagonMachineFunctionInfo.h.

◆ setSRetReturnReg()

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

Definition at line 51 of file HexagonMachineFunctionInfo.h.

◆ setStackAlignBasePhysReg()

void llvm::HexagonMachineFunctionInfo::setStackAlignBasePhysReg ( unsigned  R)
inline

◆ setStackAlignBaseVReg()

void llvm::HexagonMachineFunctionInfo::setStackAlignBaseVReg ( unsigned  R)
inline

Definition at line 85 of file HexagonMachineFunctionInfo.h.

◆ setStartPacket()

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

Definition at line 65 of file HexagonMachineFunctionInfo.h.

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

◆ setVarArgsFrameIndex()

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

Definition at line 53 of file HexagonMachineFunctionInfo.h.


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