class ObjectLinkingLayer::Plugin

Declaration

class ObjectLinkingLayer::Plugin { /* full declaration omitted */ };

Description

Plugin instances can be added to the ObjectLinkingLayer to receive callbacks when code is loaded or emitted, and when JITLink is being configured.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h:60

Method Overview

  • public virtual llvm::orc::ObjectLinkingLayer::Plugin::SyntheticSymbolDependenciesMap getSyntheticSymbolDependencies(llvm::orc::MaterializationResponsibility & MR)
  • public virtual void modifyPassConfig(llvm::orc::MaterializationResponsibility & MR, jitlink::LinkGraph & G, jitlink::PassConfiguration & Config)
  • public virtual llvm::Error notifyEmitted(llvm::orc::MaterializationResponsibility & MR)
  • public virtual llvm::Error notifyFailed(llvm::orc::MaterializationResponsibility & MR)
  • public virtual void notifyLoaded(llvm::orc::MaterializationResponsibility & MR)
  • public virtual void notifyMaterializing(llvm::orc::MaterializationResponsibility & MR, jitlink::LinkGraph & G, jitlink::JITLinkContext & Ctx, llvm::MemoryBufferRef InputObject)
  • public virtual llvm::Error notifyRemovingResources(llvm::orc::ResourceKey K)
  • public virtual void notifyTransferringResources(llvm::orc::ResourceKey DstKey, llvm::orc::ResourceKey SrcKey)
  • public virtual ~Plugin()

Methods

virtual llvm::orc::ObjectLinkingLayer::Plugin::
    SyntheticSymbolDependenciesMap
    getSyntheticSymbolDependencies(
        llvm::orc::MaterializationResponsibility&
            MR)

Description

Return any dependencies that synthetic symbols (e.g. init symbols) have on symbols in the LinkGraph. This is used by the ObjectLinkingLayer to update the dependencies for the synthetic symbols.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h:92

Parameters

llvm::orc::MaterializationResponsibility& MR

virtual void modifyPassConfig(
    llvm::orc::MaterializationResponsibility& MR,
    jitlink::LinkGraph& G,
    jitlink::PassConfiguration& Config)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h:67

Parameters

llvm::orc::MaterializationResponsibility& MR
jitlink::LinkGraph& G
jitlink::PassConfiguration& Config

virtual llvm::Error notifyEmitted(
    llvm::orc::MaterializationResponsibility& MR)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h:79

Parameters

llvm::orc::MaterializationResponsibility& MR

virtual llvm::Error notifyFailed(
    llvm::orc::MaterializationResponsibility& MR)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h:82

Parameters

llvm::orc::MaterializationResponsibility& MR

virtual void notifyLoaded(
    llvm::orc::MaterializationResponsibility& MR)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h:78

Parameters

llvm::orc::MaterializationResponsibility& MR

virtual void notifyMaterializing(
    llvm::orc::MaterializationResponsibility& MR,
    jitlink::LinkGraph& G,
    jitlink::JITLinkContext& Ctx,
    llvm::MemoryBufferRef InputObject)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h:73

Parameters

llvm::orc::MaterializationResponsibility& MR
jitlink::LinkGraph& G
jitlink::JITLinkContext& Ctx
llvm::MemoryBufferRef InputObject

virtual llvm::Error notifyRemovingResources(
    llvm::orc::ResourceKey K)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h:83

Parameters

llvm::orc::ResourceKey K

virtual void notifyTransferringResources(
    llvm::orc::ResourceKey DstKey,
    llvm::orc::ResourceKey SrcKey)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h:84

Parameters

llvm::orc::ResourceKey DstKey
llvm::orc::ResourceKey SrcKey

virtual ~Plugin()

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h:66