struct MachineFunctionInfo

Declaration

struct MachineFunctionInfo { /* full declaration omitted */ };

Description

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.

Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:95

Method Overview

  • public virtual llvm::MachineFunctionInfo * clone(llvm::BumpPtrAllocator & Allocator, llvm::MachineFunction & DestMF, const DenseMap<llvm::MachineBasicBlock *, llvm::MachineBasicBlock *> & Src2DstMBB) const
  • public template <typename Ty>static Ty * create(llvm::BumpPtrAllocator & Allocator, llvm::MachineFunction & MF)
  • public template <typename Ty>static Ty * create(llvm::BumpPtrAllocator & Allocator, const Ty & MFI)
  • public virtual ~MachineFunctionInfo()

Methods

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

Description

Make a functionally equivalent copy of this MachineFunctionInfo in \p 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.

Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:117

Parameters

llvm::BumpPtrAllocator& Allocator
llvm::MachineFunction& DestMF
const DenseMap<llvm::MachineBasicBlock*, llvm::MachineBasicBlock*>& Src2DstMBB

template <typename Ty>
static Ty* create(
    llvm::BumpPtrAllocator& Allocator,
    llvm::MachineFunction& MF)

Description

Factory function: default behavior is to call new using the supplied allocator. This function can be overridden in a derive class.

Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:103

Templates

Ty

Parameters

llvm::BumpPtrAllocator& Allocator
llvm::MachineFunction& MF

template <typename Ty>
static Ty* create(
    llvm::BumpPtrAllocator& Allocator,
    const Ty& MFI)

Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:108

Templates

Ty

Parameters

llvm::BumpPtrAllocator& Allocator
const Ty& MFI

virtual ~MachineFunctionInfo()

Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:96