LLVM: llvm::MachineFunctionInfo Struct Reference (original) (raw)

MachineFunctionInfo - This class can be derived from and used by targets to hold private target-specific information for each MachineFunction. More...

#include "[llvm/CodeGen/MachineFunction.h](MachineFunction%5F8h%5Fsource.html)"

Public Member Functions
virtual ~MachineFunctionInfo ()
virtual MachineFunctionInfo * clone (BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const
Make a functionally equivalent copy of this MachineFunctionInfo in MF.
Static Public Member Functions
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
static Ty * create (BumpPtrAllocator &Allocator, const Ty &MFI)

MachineFunctionInfo - This class can be derived from and used by targets to hold private target-specific information for each MachineFunction.

Objects of type are accessed/created with MF::getInfo and destroyed when the MachineFunction is destroyed.

Definition at line 104 of file MachineFunction.h.

MachineFunctionInfo::~MachineFunctionInfo ( ) virtualdefault

clone()

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 in llvm::AArch64FunctionInfo, llvm::SIMachineFunctionInfo, llvm::ARCFunctionInfo, llvm::ARMFunctionInfo, llvm::AVRMachineFunctionInfo, llvm::CSKYMachineFunctionInfo, llvm::HexagonMachineFunctionInfo, llvm::LanaiMachineFunctionInfo, llvm::LoongArchMachineFunctionInfo, llvm::M68kMachineFunctionInfo, llvm::MipsFunctionInfo, llvm::MSP430MachineFunctionInfo, llvm::NVPTXMachineFunctionInfo, llvm::PPCFunctionInfo, llvm::RISCVMachineFunctionInfo, llvm::SparcMachineFunctionInfo, llvm::SystemZMachineFunctionInfo, llvm::VEMachineFunctionInfo, llvm::WebAssemblyFunctionInfo, llvm::X86MachineFunctionInfo, and llvm::XCoreFunctionInfo.

Definition at line 127 of file MachineFunction.h.

Referenced by llvm::MachineFunction::cloneInfoFrom().

create() [1/2]

template<typename FuncInfoTy , typename SubtargetTy = TargetSubtargetInfo>

Factory function: default behavior is to call new using the supplied allocator.

This function can be overridden in a derive class.

Definition at line 112 of file MachineFunction.h.

References Allocator, and F.

create() [2/2]

template

static Ty * llvm::MachineFunctionInfo::create ( BumpPtrAllocator & Allocator, const Ty & MFI ) inlinestatic

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