LLVM 22.0.0git
llvm::AVRMachineFunctionInfo Class Reference

Contains AVR-specific information for each MachineFunction. More...

#include "Target/AVR/AVRMachineFunctionInfo.h"

Inheritance diagram for llvm::AVRMachineFunctionInfo:
[legend]

Public Member Functions

 AVRMachineFunctionInfo (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.
bool getHasSpills () const
void setHasSpills (bool B)
bool getHasAllocas () const
void setHasAllocas (bool B)
bool getHasStackArgs () const
void setHasStackArgs (bool B)
bool isInterruptOrSignalHandler () const
 Checks if the function is some form of interrupt service routine.
bool isInterruptHandler () const
bool isSignalHandler () const
unsigned getCalleeSavedFrameSize () const
void setCalleeSavedFrameSize (unsigned Bytes)
int getVarArgsFrameIndex () const
void setVarArgsFrameIndex (int Idx)
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.
template<typename Ty>
static Ty * create (BumpPtrAllocator &Allocator, const Ty &MFI)

Detailed Description

Contains AVR-specific information for each MachineFunction.

Definition at line 21 of file AVRMachineFunctionInfo.h.

Constructor & Destructor Documentation

◆ AVRMachineFunctionInfo()

llvm::AVRMachineFunctionInfo::AVRMachineFunctionInfo ( const Function & F,
const TargetSubtargetInfo * STI )
inline

Definition at line 48 of file AVRMachineFunctionInfo.h.

References llvm::CallingConv::AVR_INTR, llvm::CallingConv::AVR_SIGNAL, and F.

Referenced by clone().

Member Function Documentation

◆ clone()

MachineFunctionInfo * llvm::AVRMachineFunctionInfo::clone ( BumpPtrAllocator & Allocator,
MachineFunction & DestMF,
const DenseMap< MachineBasicBlock *, MachineBasicBlock * > & Src2DstMBB ) const
inlineoverridevirtual

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 60 of file AVRMachineFunctionInfo.h.

References Allocator, AVRMachineFunctionInfo(), and llvm::MachineFunction::cloneInfo().

◆ getCalleeSavedFrameSize()

unsigned llvm::AVRMachineFunctionInfo::getCalleeSavedFrameSize ( ) const
inline

◆ getHasAllocas()

bool llvm::AVRMachineFunctionInfo::getHasAllocas ( ) const
inline

Definition at line 69 of file AVRMachineFunctionInfo.h.

Referenced by llvm::AVRFrameLowering::hasFPImpl().

◆ getHasSpills()

bool llvm::AVRMachineFunctionInfo::getHasSpills ( ) const
inline

Definition at line 66 of file AVRMachineFunctionInfo.h.

Referenced by llvm::AVRFrameLowering::hasFPImpl().

◆ getHasStackArgs()

bool llvm::AVRMachineFunctionInfo::getHasStackArgs ( ) const
inline

Definition at line 72 of file AVRMachineFunctionInfo.h.

Referenced by llvm::AVRFrameLowering::hasFPImpl().

◆ getVarArgsFrameIndex()

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

Definition at line 86 of file AVRMachineFunctionInfo.h.

◆ isInterruptHandler()

bool llvm::AVRMachineFunctionInfo::isInterruptHandler ( ) const
inline

◆ isInterruptOrSignalHandler()

bool llvm::AVRMachineFunctionInfo::isInterruptOrSignalHandler ( ) const
inline

Checks if the function is some form of interrupt service routine.

Definition at line 76 of file AVRMachineFunctionInfo.h.

References isInterruptHandler(), and isSignalHandler().

Referenced by llvm::AVRFrameLowering::emitEpilogue(), llvm::AVRFrameLowering::emitPrologue(), llvm::AVRRegisterInfo::getCalleeSavedRegs(), and llvm::restoreStatusRegister().

◆ isSignalHandler()

bool llvm::AVRMachineFunctionInfo::isSignalHandler ( ) const
inline

Definition at line 81 of file AVRMachineFunctionInfo.h.

Referenced by isInterruptOrSignalHandler().

◆ setCalleeSavedFrameSize()

void llvm::AVRMachineFunctionInfo::setCalleeSavedFrameSize ( unsigned Bytes)
inline

◆ setHasAllocas()

void llvm::AVRMachineFunctionInfo::setHasAllocas ( bool B)
inline

Definition at line 70 of file AVRMachineFunctionInfo.h.

References B().

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

◆ setHasSpills()

void llvm::AVRMachineFunctionInfo::setHasSpills ( bool B)
inline

Definition at line 67 of file AVRMachineFunctionInfo.h.

References B().

Referenced by llvm::AVRInstrInfo::storeRegToStackSlot().

◆ setHasStackArgs()

void llvm::AVRMachineFunctionInfo::setHasStackArgs ( bool B)
inline

Definition at line 73 of file AVRMachineFunctionInfo.h.

References B().

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

◆ setVarArgsFrameIndex()

void llvm::AVRMachineFunctionInfo::setVarArgsFrameIndex ( int Idx)
inline

Definition at line 87 of file AVRMachineFunctionInfo.h.


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