class MachineModuleSlotTracker

Declaration

class MachineModuleSlotTracker : public ModuleSlotTracker { /* full declaration omitted */ };

Description

Manage lifetime of a slot tracker for printing IR. Wrapper around the \a SlotTracker used internally by \a AsmWriter. This class allows callers to share the cost of incorporating the metadata in a module or a function. If the IR changes from underneath \a ModuleSlotTracker, strings like "<badref>" will be printed, or, worse, the wrong slots entirely.

Declared at: llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h:22

Inherits from: ModuleSlotTracker

Member Variables

private const llvm::Function& TheFunction
private const llvm::MachineModuleInfo& TheMMI
private unsigned int MDNStartSlot = 0
private unsigned int MDNEndSlot = 0

Method Overview

Inherited from ModuleSlotTracker:

Methods

MachineModuleSlotTracker(
    const llvm::MachineFunction* MF,
    bool ShouldInitializeAllMetadata = true)

Declared at: llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h:36

Parameters

const llvm::MachineFunction* MF
bool ShouldInitializeAllMetadata = true

void collectMachineMDNodes(
    llvm::ModuleSlotTracker::
        MachineMDNodeListType& L) const

Declared at: llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h:40

Parameters

llvm::ModuleSlotTracker::MachineMDNodeListType& L

void processMachineFunction(
    llvm::AbstractSlotTrackerStorage* AST,
    const llvm::Function* F,
    bool ShouldInitializeAllMetadata)

Declared at: llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h:31

Parameters

llvm::AbstractSlotTrackerStorage* AST
const llvm::Function* F
bool ShouldInitializeAllMetadata

void processMachineFunctionMetadata(
    llvm::AbstractSlotTrackerStorage* AST,
    const llvm::MachineFunction& MF)

Declared at: llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h:27

Parameters

llvm::AbstractSlotTrackerStorage* AST
const llvm::MachineFunction& MF

void processMachineModule(
    llvm::AbstractSlotTrackerStorage* AST,
    const llvm::Module* M,
    bool ShouldInitializeAllMetadata)

Declared at: llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h:29

Parameters

llvm::AbstractSlotTrackerStorage* AST
const llvm::Module* M
bool ShouldInitializeAllMetadata

~MachineModuleSlotTracker()

Description

Destructor to clean up storage.

Declared at: llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h:38