class ELFNixPlatform::ELFNixPlatformPlugin

Declaration

class ELFNixPlatform::ELFNixPlatformPlugin : public 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/ELFNixPlatform.h:129

Inherits from: ObjectLinkingLayer::Plugin

Member Variables

private std::mutex PluginMutex
private llvm::orc::ELFNixPlatform& MP
private llvm::orc::ELFNixPlatform::ELFNixPlatformPlugin:: InitSymbolDepMap InitSymbolDeps

Method Overview

Inherited from ObjectLinkingLayer::Plugin:

Methods

ELFNixPlatformPlugin(
    llvm::orc::ELFNixPlatform& MP)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h:131

Parameters

llvm::orc::ELFNixPlatform& MP

void addDSOHandleSupportPasses(
    llvm::orc::MaterializationResponsibility& MR,
    jitlink::PassConfiguration& Config)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h:160

Parameters

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

void addEHAndTLVSupportPasses(
    llvm::orc::MaterializationResponsibility& MR,
    jitlink::PassConfiguration& Config)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h:163

Parameters

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

void addInitializerSupportPasses(
    llvm::orc::MaterializationResponsibility& MR,
    jitlink::PassConfiguration& Config)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h:157

Parameters

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

llvm::Error fixTLVSectionsAndEdges(
    jitlink::LinkGraph& G,
    llvm::orc::JITDylib& JD)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h:171

Parameters

jitlink::LinkGraph& G
llvm::orc::JITDylib& JD

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/ELFNixPlatform.h:138

Parameters

llvm::orc::MaterializationResponsibility& MR

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

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h:133

Parameters

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

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

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h:142

Parameters

llvm::orc::MaterializationResponsibility& MR

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

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h:146

Parameters

llvm::orc::ResourceKey K

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

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h:150

Parameters

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

llvm::Error preserveInitSections(
    jitlink::LinkGraph& G,
    llvm::orc::MaterializationResponsibility& MR)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h:166

Parameters

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

llvm::Error registerInitSections(
    jitlink::LinkGraph& G,
    llvm::orc::JITDylib& JD)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h:169

Parameters

jitlink::LinkGraph& G
llvm::orc::JITDylib& JD