class BasicObjectLayerMaterializationUnit

Declaration

class BasicObjectLayerMaterializationUnit : public MaterializationUnit { /* full declaration omitted */ };

Description

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

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Layer.h:175

Inherits from: MaterializationUnit

Member Variables

private llvm::orc::ObjectLayer& L
private std::unique_ptr<MemoryBuffer> O

Inherited from MaterializationUnit:

protected SymbolFlags
protected InitSymbol
public static ID

Method Overview

  • public BasicObjectLayerMaterializationUnit(llvm::orc::ObjectLayer & L, std::unique_ptr<MemoryBuffer> O, llvm::orc::MaterializationUnit::Interface I)
  • public static Expected<std::unique_ptr<BasicObjectLayerMaterializationUnit>> Create(llvm::orc::ObjectLayer & L, std::unique_ptr<MemoryBuffer> O)
  • private void discard(const llvm::orc::JITDylib & JD, const llvm::orc::SymbolStringPtr & Name)
  • public llvm::StringRef getName() const
  • private void materialize(std::unique_ptr<MaterializationResponsibility> R)

Inherited from MaterializationUnit:

Methods

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

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Layer.h:181

Parameters

llvm::orc::ObjectLayer& L
std::unique_ptr<MemoryBuffer> O
llvm::orc::MaterializationUnit::Interface I

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

Description

Create using the default object interface builder function.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Layer.h:179

Parameters

llvm::orc::ObjectLayer& L
std::unique_ptr<MemoryBuffer> O

void discard(
    const llvm::orc::JITDylib& JD,
    const llvm::orc::SymbolStringPtr& Name)

Description

Implementations of this method should discard the given symbol from the source (e.g. if the source is an LLVM IR Module and the symbol is a function, delete the function body or mark it available externally).

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Layer.h:190

Parameters

const llvm::orc::JITDylib& JD
const llvm::orc::SymbolStringPtr& Name

llvm::StringRef getName() const

Description

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

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Layer.h:186

void materialize(
    std::unique_ptr<MaterializationResponsibility>
        R)

Description

Implementations of this method should materialize all symbols in the materialzation unit, except for those that have been previously discarded.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Layer.h:189

Parameters

std::unique_ptr<MaterializationResponsibility> R