LLVM 17.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::orc::BasicObjectLayerMaterializationUnit Class Reference

Materializes the given object file (represented by a MemoryBuffer instance) by calling 'emit' on the given ObjectLayer. More...

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

Inheritance diagram for llvm::orc::BasicObjectLayerMaterializationUnit:
Inheritance graph
[legend]
Collaboration diagram for llvm::orc::BasicObjectLayerMaterializationUnit:
Collaboration graph
[legend]

Public Member Functions

 BasicObjectLayerMaterializationUnit (ObjectLayer &L, std::unique_ptr< MemoryBuffer > O, Interface I)
 
StringRef getName () const override
 Return the buffer's identifier as the name for this MaterializationUnit.
 
- 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.
 

Static Public Member Functions

static Expected< std::unique_ptr< BasicObjectLayerMaterializationUnit > > Create (ObjectLayer &L, std::unique_ptr< MemoryBuffer > O)
 Create using the default object interface builder function.
 

Additional Inherited Members

- Static Public Attributes inherited from llvm::orc::MaterializationUnit
static char ID
 
- Protected Attributes inherited from llvm::orc::MaterializationUnit
SymbolFlagsMap SymbolFlags
 
SymbolStringPtr InitSymbol
 

Detailed Description

Materializes the given object file (represented by a MemoryBuffer instance) by calling 'emit' on the given ObjectLayer.

Definition at line 175 of file Layer.h.

Constructor & Destructor Documentation

◆ BasicObjectLayerMaterializationUnit()

llvm::orc::BasicObjectLayerMaterializationUnit::BasicObjectLayerMaterializationUnit ( ObjectLayer L,
std::unique_ptr< MemoryBuffer O,
Interface  I 
)

Definition at line 208 of file Layer.cpp.

Member Function Documentation

◆ Create()

Expected< std::unique_ptr< BasicObjectLayerMaterializationUnit > > llvm::orc::BasicObjectLayerMaterializationUnit::Create ( ObjectLayer L,
std::unique_ptr< MemoryBuffer O 
)
static

Create using the default object interface builder function.

Definition at line 194 of file Layer.cpp.

References llvm::orc::ObjectLayer::getExecutionSession(), and llvm::orc::getObjectFileInterface().

◆ getName()

StringRef llvm::orc::BasicObjectLayerMaterializationUnit::getName ( ) const
overridevirtual

Return the buffer's identifier as the name for this MaterializationUnit.

Implements llvm::orc::MaterializationUnit.

Definition at line 212 of file Layer.cpp.


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