LLVM 20.0.0git
|
#include "llvm/ExecutionEngine/Orc/LinkGraphLayer.h"
Public Member Functions | |
LinkGraphLayer (ExecutionSession &ES) | |
virtual | ~LinkGraphLayer () |
ExecutionSession & | getExecutionSession () |
virtual Error | add (ResourceTrackerSP RT, std::unique_ptr< jitlink::LinkGraph > G, MaterializationUnit::Interface I) |
Adds a LinkGraph to the JITDylib for the given ResourceTracker. | |
Error | add (ResourceTrackerSP RT, std::unique_ptr< jitlink::LinkGraph > G) |
Adds a LinkGraph to the JITDylib for the given ResourceTracker. | |
Error | add (JITDylib &JD, std::unique_ptr< jitlink::LinkGraph > G, MaterializationUnit::Interface I) |
Adds a LinkGraph to the given JITDylib. | |
Error | add (JITDylib &JD, std::unique_ptr< jitlink::LinkGraph > G) |
Adds a LinkGraph to the given JITDylib. | |
virtual void | emit (std::unique_ptr< MaterializationResponsibility > R, std::unique_ptr< jitlink::LinkGraph > G)=0 |
Emit should materialize the given IR. | |
MaterializationUnit::Interface | getInterface (jitlink::LinkGraph &G) |
Get the interface for the given LinkGraph. | |
Static Public Member Functions | |
static JITSymbolFlags | getJITSymbolFlagsForSymbol (jitlink::Symbol &Sym) |
Get the JITSymbolFlags for the given symbol. | |
Definition at line 26 of file LinkGraphLayer.h.
|
inline |
Definition at line 28 of file LinkGraphLayer.h.
|
virtualdefault |
|
inline |
Adds a LinkGraph to the given JITDylib.
The interface for the object will be built using getLinkGraphInterface.
Definition at line 53 of file LinkGraphLayer.h.
References add(), G, and llvm::orc::JITDylib::getDefaultResourceTracker().
|
inline |
Adds a LinkGraph to the given JITDylib.
Definition at line 46 of file LinkGraphLayer.h.
References add(), G, llvm::orc::JITDylib::getDefaultResourceTracker(), and I.
|
inline |
Adds a LinkGraph to the JITDylib for the given ResourceTracker.
The interface for the graph will be built using getLinkGraphInterface.
Definition at line 40 of file LinkGraphLayer.h.
References add(), G, and getInterface().
|
inlinevirtual |
Adds a LinkGraph to the JITDylib for the given ResourceTracker.
Definition at line 98 of file LinkGraphLayer.h.
Referenced by add().
|
pure virtual |
Emit should materialize the given IR.
Implemented in llvm::orc::LinkGraphLinkingLayer, and llvm::orc::ObjectLinkingLayer.
Referenced by llvm::orc::LinkGraphMaterializationUnit::materialize().
|
inline |
Definition at line 32 of file LinkGraphLayer.h.
Referenced by llvm::orc::JITLinkRedirectableSymbolManager::Create(), llvm::orc::JITLinkReentryTrampolines::Create(), llvm::orc::MachOPlatform::Create(), llvm::orc::ELFNixPlatform::Create(), llvm::orc::COFFPlatform::Create(), llvm::orc::JITLinkReentryTrampolines::emit(), llvm::orc::ObjectLinkingLayer::emit(), llvm::orc::JITLinkRedirectableSymbolManager::emitRedirectableSymbols(), llvm::orc::LinkGraphLinkingLayer::JITLinkCtx::lookup(), llvm::orc::SectCreateMaterializationUnit::materialize(), llvm::orc::LinkGraphLinkingLayer::JITLinkCtx::notifyFailed(), llvm::orc::LinkGraphLinkingLayer::JITLinkCtx::notifyFinalized(), llvm::orc::LinkGraphLinkingLayer::JITLinkCtx::notifyResolved(), llvm::orc::JITLinkRedirectableSymbolManager::redirect(), and llvm::orc::LinkGraphLinkingLayer::~LinkGraphLinkingLayer().
MaterializationUnit::Interface llvm::orc::LinkGraphLayer::getInterface | ( | jitlink::LinkGraph & | G | ) |
Get the interface for the given LinkGraph.
Definition at line 45 of file LinkGraphLayer.cpp.
References assert(), G, getJITSymbolFlagsForSymbol(), llvm::jitlink::Symbol::getName(), llvm::jitlink::Symbol::getScope(), llvm::jitlink::Symbol::hasName(), llvm::orc::MaterializationUnit::Interface::InitSymbol, llvm::orc::ExecutionSession::intern(), Sym, and llvm::orc::MaterializationUnit::Interface::SymbolFlags.
Referenced by add().
|
static |
Get the JITSymbolFlags for the given symbol.
Definition at line 75 of file LinkGraphLayer.cpp.
References llvm::JITSymbolFlags::Callable, llvm::JITSymbolFlags::Exported, llvm::jitlink::Symbol::getLinkage(), llvm::jitlink::Symbol::getScope(), llvm::jitlink::Symbol::isCallable(), llvm::JITSymbolFlags::MaterializationSideEffectsOnly, Sym, and llvm::JITSymbolFlags::Weak.
Referenced by getInterface(), and llvm::orc::LinkGraphLinkingLayer::JITLinkCtx::notifyResolved().