LLVM 24.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 ()

Public Attributes

Register AlignedStackReg
unsigned AlignedStackObjectIdx

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

Constructor & Destructor Documentation

◆ AVRMachineFunctionInfo()

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

Definition at line 52 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 68 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 77 of file AVRMachineFunctionInfo.h.

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

◆ getHasSpills()

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

Definition at line 74 of file AVRMachineFunctionInfo.h.

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

◆ getHasStackArgs()

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

Definition at line 80 of file AVRMachineFunctionInfo.h.

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

◆ getVarArgsFrameIndex()

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

Definition at line 94 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 84 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 89 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 78 of file AVRMachineFunctionInfo.h.

References B().

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

◆ setHasSpills()

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

Definition at line 75 of file AVRMachineFunctionInfo.h.

References B().

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

◆ setHasStackArgs()

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

Definition at line 81 of file AVRMachineFunctionInfo.h.

References B().

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

◆ setVarArgsFrameIndex()

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

Definition at line 95 of file AVRMachineFunctionInfo.h.

Member Data Documentation

◆ AlignedStackObjectIdx

unsigned llvm::AVRMachineFunctionInfo::AlignedStackObjectIdx

Definition at line 50 of file AVRMachineFunctionInfo.h.

◆ AlignedStackReg

Register llvm::AVRMachineFunctionInfo::AlignedStackReg

Definition at line 49 of file AVRMachineFunctionInfo.h.


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