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)"

Inheritance diagram for llvm::MachineFunctionInfo:

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)

Detailed Description

Constructor & Destructor Documentation

MachineFunctionInfo::~MachineFunctionInfo ( ) virtualdefault

Member Function Documentation

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::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::SIMachineFunctionInfo, llvm::SparcMachineFunctionInfo, llvm::SystemZMachineFunctionInfo, llvm::VEMachineFunctionInfo, llvm::WebAssemblyFunctionInfo, llvm::X86MachineFunctionInfo, and llvm::XCoreFunctionInfo.

Definition at line 127 of file MachineFunction.h.

References Allocator.

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.

Referenced by llvm::AArch64TargetMachine::createMachineFunctionInfo(), llvm::ARCTargetMachine::createMachineFunctionInfo(), llvm::ARMBaseTargetMachine::createMachineFunctionInfo(), llvm::AVRTargetMachine::createMachineFunctionInfo(), llvm::CSKYTargetMachine::createMachineFunctionInfo(), llvm::GCNTargetMachine::createMachineFunctionInfo(), llvm::HexagonTargetMachine::createMachineFunctionInfo(), llvm::LanaiTargetMachine::createMachineFunctionInfo(), llvm::LoongArchTargetMachine::createMachineFunctionInfo(), llvm::M68kTargetMachine::createMachineFunctionInfo(), llvm::MipsTargetMachine::createMachineFunctionInfo(), llvm::MSP430TargetMachine::createMachineFunctionInfo(), llvm::NVPTXTargetMachine::createMachineFunctionInfo(), llvm::PPCTargetMachine::createMachineFunctionInfo(), llvm::R600TargetMachine::createMachineFunctionInfo(), llvm::RISCVTargetMachine::createMachineFunctionInfo(), llvm::SparcTargetMachine::createMachineFunctionInfo(), llvm::SystemZTargetMachine::createMachineFunctionInfo(), llvm::VETargetMachine::createMachineFunctionInfo(), llvm::WebAssemblyTargetMachine::createMachineFunctionInfo(), llvm::X86TargetMachine::createMachineFunctionInfo(), llvm::XCoreTargetMachine::createMachineFunctionInfo(), and llvm::XtensaTargetMachine::createMachineFunctionInfo().

create() [2/2]


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