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
- public ELFNixPlatformPlugin(llvm::orc::ELFNixPlatform & MP)
- private void addDSOHandleSupportPasses(llvm::orc::MaterializationResponsibility & MR, jitlink::PassConfiguration & Config)
- private void addEHAndTLVSupportPasses(llvm::orc::MaterializationResponsibility & MR, jitlink::PassConfiguration & Config)
- private void addInitializerSupportPasses(llvm::orc::MaterializationResponsibility & MR, jitlink::PassConfiguration & Config)
- private llvm::Error fixTLVSectionsAndEdges(jitlink::LinkGraph & G, llvm::orc::JITDylib & JD)
- public llvm::orc::ObjectLinkingLayer::Plugin::SyntheticSymbolDependenciesMap getSyntheticSymbolDependencies(llvm::orc::MaterializationResponsibility & MR)
- public void modifyPassConfig(llvm::orc::MaterializationResponsibility & MR, jitlink::LinkGraph & G, jitlink::PassConfiguration & Config)
- public llvm::Error notifyFailed(llvm::orc::MaterializationResponsibility & MR)
- public llvm::Error notifyRemovingResources(llvm::orc::ResourceKey K)
- public void notifyTransferringResources(llvm::orc::ResourceKey DstKey, llvm::orc::ResourceKey SrcKey)
- private llvm::Error preserveInitSections(jitlink::LinkGraph & G, llvm::orc::MaterializationResponsibility & MR)
- private llvm::Error registerInitSections(jitlink::LinkGraph & G, llvm::orc::JITDylib & JD)
Inherited from ObjectLinkingLayer::Plugin:
- public getSyntheticSymbolDependencies
- public modifyPassConfig
- public notifyEmitted
- public notifyFailed
- public notifyLoaded
- public notifyMaterializing
- public notifyRemovingResources
- public notifyTransferringResources
Methods
¶ELFNixPlatformPlugin(
llvm::orc::ELFNixPlatform& MP)
ELFNixPlatformPlugin(
llvm::orc::ELFNixPlatform& MP)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h:131
Parameters
¶void addDSOHandleSupportPasses(
llvm::orc::MaterializationResponsibility& MR,
jitlink::PassConfiguration& Config)
void addDSOHandleSupportPasses(
llvm::orc::MaterializationResponsibility& MR,
jitlink::PassConfiguration& Config)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h:160
Parameters
¶void addEHAndTLVSupportPasses(
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
¶void addInitializerSupportPasses(
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::Error fixTLVSectionsAndEdges(
jitlink::LinkGraph& G,
llvm::orc::JITDylib& JD)
llvm::Error fixTLVSectionsAndEdges(
jitlink::LinkGraph& G,
llvm::orc::JITDylib& JD)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h:171
Parameters
¶llvm::orc::ObjectLinkingLayer::Plugin::
SyntheticSymbolDependenciesMap
getSyntheticSymbolDependencies(
llvm::orc::MaterializationResponsibility&
MR)
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
¶void modifyPassConfig(
llvm::orc::MaterializationResponsibility& MR,
jitlink::LinkGraph& G,
jitlink::PassConfiguration& Config)
void modifyPassConfig(
llvm::orc::MaterializationResponsibility& MR,
jitlink::LinkGraph& G,
jitlink::PassConfiguration& Config)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h:133
Parameters
¶llvm::Error notifyFailed(
llvm::orc::MaterializationResponsibility& MR)
llvm::Error notifyFailed(
llvm::orc::MaterializationResponsibility& MR)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h:142
Parameters
¶llvm::Error notifyRemovingResources(
llvm::orc::ResourceKey K)
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)
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)
llvm::Error preserveInitSections(
jitlink::LinkGraph& G,
llvm::orc::MaterializationResponsibility& MR)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h:166
Parameters
¶llvm::Error registerInitSections(
jitlink::LinkGraph& G,
llvm::orc::JITDylib& JD)
llvm::Error registerInitSections(
jitlink::LinkGraph& G,
llvm::orc::JITDylib& JD)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h:169