LLVM 20.0.0git
Public Member Functions | List of all members
llvm::orc::BasicIRLayerMaterializationUnit Class Reference

MaterializationUnit that materializes modules by calling the 'emit' method on the given IRLayer. More...

#include "llvm/ExecutionEngine/Orc/Layer.h"

Inheritance diagram for llvm::orc::BasicIRLayerMaterializationUnit:
Inheritance graph
[legend]

Public Member Functions

 BasicIRLayerMaterializationUnit (IRLayer &L, const IRSymbolMapper::ManglingOptions &MO, ThreadSafeModule TSM)
 
- Public Member Functions inherited from llvm::orc::IRMaterializationUnit
 IRMaterializationUnit (ExecutionSession &ES, const IRSymbolMapper::ManglingOptions &MO, ThreadSafeModule TSM)
 Create an IRMaterializationLayer.
 
 IRMaterializationUnit (ThreadSafeModule TSM, Interface I, SymbolNameToDefinitionMap SymbolToDefinition)
 Create an IRMaterializationLayer from a module, and pre-existing SymbolFlags and SymbolToDefinition maps.
 
StringRef getName () const override
 Return the ModuleIdentifier as the name for this MaterializationUnit.
 
const ThreadSafeModulegetModule () const
 Return a reference to the contained ThreadSafeModule.
 
- Public Member Functions inherited from llvm::orc::MaterializationUnit
 MaterializationUnit (Interface I)
 
virtual ~MaterializationUnit ()=default
 
virtual StringRef getName () const =0
 Return the name of this materialization unit.
 
const SymbolFlagsMapgetSymbols () const
 Return the set of symbols that this source provides.
 
const SymbolStringPtrgetInitializerSymbol () const
 Returns the initialization symbol for this MaterializationUnit (if any).
 
virtual void materialize (std::unique_ptr< MaterializationResponsibility > R)=0
 Implementations of this method should materialize all symbols in the materialzation unit, except for those that have been previously discarded.
 
void doDiscard (const JITDylib &JD, const SymbolStringPtr &Name)
 Called by JITDylibs to notify MaterializationUnits that the given symbol has been overridden.
 

Additional Inherited Members

- Public Types inherited from llvm::orc::IRMaterializationUnit
using SymbolNameToDefinitionMap = std::map< SymbolStringPtr, GlobalValue * >
 
- Static Public Attributes inherited from llvm::orc::MaterializationUnit
static char ID
 
- Protected Attributes inherited from llvm::orc::IRMaterializationUnit
ThreadSafeModule TSM
 
SymbolNameToDefinitionMap SymbolToDefinition
 
- Protected Attributes inherited from llvm::orc::MaterializationUnit
SymbolFlagsMap SymbolFlags
 
SymbolStringPtr InitSymbol
 

Detailed Description

MaterializationUnit that materializes modules by calling the 'emit' method on the given IRLayer.

Definition at line 120 of file Layer.h.

Constructor & Destructor Documentation

◆ BasicIRLayerMaterializationUnit()

llvm::orc::BasicIRLayerMaterializationUnit::BasicIRLayerMaterializationUnit ( IRLayer L,
const IRSymbolMapper::ManglingOptions MO,
ThreadSafeModule  TSM 
)

Definition at line 135 of file Layer.cpp.


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