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
- public MachineModuleSlotTracker(const llvm::MachineFunction * MF, bool ShouldInitializeAllMetadata = true)
- public void collectMachineMDNodes(llvm::ModuleSlotTracker::MachineMDNodeListType & L) const
- private void processMachineFunction(llvm::AbstractSlotTrackerStorage * AST, const llvm::Function * F, bool ShouldInitializeAllMetadata)
- private void processMachineFunctionMetadata(llvm::AbstractSlotTrackerStorage * AST, const llvm::MachineFunction & MF)
- private void processMachineModule(llvm::AbstractSlotTrackerStorage * AST, const llvm::Module * M, bool ShouldInitializeAllMetadata)
- public ~MachineModuleSlotTracker()
Inherited from ModuleSlotTracker:
- public collectMDNodes
- public getCurrentFunction
- public getLocalSlot
- public getMachine
- public getModule
- public incorporateFunction
- public setProcessHook
- public setProcessHook
Methods
¶MachineModuleSlotTracker(
const llvm::MachineFunction* MF,
bool ShouldInitializeAllMetadata = true)
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
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)
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)
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)
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()
~MachineModuleSlotTracker()
Description
Destructor to clean up storage.
Declared at: llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h:38