LLVM: llvm::orc::ObjectLinkingLayer Class Reference (original) (raw)
An ObjectLayer implementation built on JITLink. More...
#include "[llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h](ObjectLinkingLayer%5F8h%5Fsource.html)"
| Public Types | |
|---|---|
| using | ReturnObjectBufferFunction |
| Public Member Functions | |
|---|---|
| ObjectLinkingLayer (ExecutionSession &ES) | |
| Construct an ObjectLinkingLayer using the ExecutorProcessControl instance's memory manager. | |
| ObjectLinkingLayer (ExecutionSession &ES, jitlink::JITLinkMemoryManager &MemMgr) | |
| Construct an ObjectLinkingLayer using a custom memory manager. | |
| ObjectLinkingLayer (ExecutionSession &ES, std::unique_ptr< jitlink::JITLinkMemoryManager > MemMgr) | |
| Construct an ObjectLinkingLayer. | |
| void | setReturnObjectBuffer (ReturnObjectBufferFunction ReturnObjectBuffer) |
| Set an object buffer return function. | |
| void | emit (std::unique_ptr< MaterializationResponsibility > R, std::unique_ptr< MemoryBuffer > O) override |
| Emit an object file. | |
| void | emit (std::unique_ptr< MaterializationResponsibility > R, std::unique_ptr< jitlink::LinkGraph > G) override |
| Emit a LinkGraph. | |
| void | emit (std::unique_ptr< MaterializationResponsibility > R, std::unique_ptr< jitlink::LinkGraph > G, std::unique_ptr< MemoryBuffer > ObjBuf) |
| Emit a LinkGraph with the given backing buffer. | |
| virtual Error | add (ResourceTrackerSP RT, std::unique_ptr< MemoryBuffer > O, MaterializationUnit::Interface I) |
| Adds a MaterializationUnit for the object file in the given memory buffer to the JITDylib for the given ResourceTracker. | |
| Error | add (ResourceTrackerSP RT, std::unique_ptr< MemoryBuffer > O) |
| Adds a MaterializationUnit for the object file in the given memory buffer to the JITDylib for the given ResourceTracker. | |
| Error | add (JITDylib &JD, std::unique_ptr< MemoryBuffer > O, MaterializationUnit::Interface I) |
| Adds a MaterializationUnit for the object file in the given memory buffer to the given JITDylib. | |
| Error | add (JITDylib &JD, std::unique_ptr< MemoryBuffer > O) |
| Adds a MaterializationUnit for the object file in the given memory buffer to the given JITDylib. | |
| Public Member Functions inherited from llvm::orc::LinkGraphLinkingLayer | |
| LinkGraphLinkingLayer (ExecutionSession &ES) | |
| Construct a LinkGraphLinkingLayer using the ExecutorProcessControl instance's memory manager. | |
| LinkGraphLinkingLayer (ExecutionSession &ES, jitlink::JITLinkMemoryManager &MemMgr) | |
| Construct a LinkGraphLinkingLayer using a custom memory manager. | |
| LinkGraphLinkingLayer (ExecutionSession &ES, std::unique_ptr< jitlink::JITLinkMemoryManager > MemMgr) | |
| Construct an LinkGraphLinkingLayer. | |
| ~LinkGraphLinkingLayer () override | |
| Destroy the LinkGraphLinkingLayer. | |
| LinkGraphLinkingLayer & | addPlugin (std::shared_ptr< Plugin > P) |
| Add a plugin. | |
| void | removePlugin (Plugin &P) |
| Remove a plugin. | |
| LinkGraphLinkingLayer & | setOverrideObjectFlagsWithResponsibilityFlags (bool OverrideObjectFlags) |
| Instructs this LinkgraphLinkingLayer instance to override the symbol flags found in the LinkGraph with the flags supplied by the MaterializationResponsibility instance. | |
| LinkGraphLinkingLayer & | setAutoClaimResponsibilityForObjectSymbols (bool AutoClaimObjectSymbols) |
| If set, this LinkGraphLinkingLayer instance will claim responsibility for any symbols provided by a given object file that were not already in the MaterializationResponsibility instance. | |
| Public Member Functions inherited from llvm::orc::LinkGraphLayer | |
| 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. | |
| MaterializationUnit::Interface | getInterface (jitlink::LinkGraph &G) |
| Get the interface for the given LinkGraph. | |
| Public Member Functions inherited from llvm::RTTIExtends< ObjectLinkingLayer, ObjectLayer > | |
| const void * | dynamicClassID () const override |
| bool | isA () const |
| Check whether this instance is a subclass of QueryT. | |
| bool | isA (const void *const ClassID) const override |
| Static Public Attributes | |
|---|---|
| static char | ID |
| Additional Inherited Members | |
|---|---|
| Static Public Member Functions inherited from llvm::orc::LinkGraphLayer | |
| static JITSymbolFlags | getJITSymbolFlagsForSymbol (jitlink::Symbol &Sym) |
| Get the JITSymbolFlags for the given symbol. | |
| Static Public Member Functions inherited from llvm::RTTIExtends< ObjectLinkingLayer, ObjectLayer > | |
| static const void * | classID () |
| static bool | classof (const T *R) |
| Protected Member Functions inherited from llvm::orc::LinkGraphLinkingLayer | |
| void | emit (std::unique_ptr< MaterializationResponsibility > R, std::unique_ptr< jitlink::LinkGraph > G, std::unique_ptr< MemoryBuffer > ObjBuf) |
| Emit a LinkGraph with the given backing buffer. | |
| Protected Attributes inherited from llvm::orc::LinkGraphLinkingLayer | |
| std::function< void(std::unique_ptr< MemoryBuffer >)> | ReturnObjectBuffer |
An ObjectLayer implementation built on JITLink.
Clients can use this class to add relocatable object files to an ExecutionSession, and it typically serves as the base layer (underneath a compiling layer like IRCompileLayer) for the rest of the JIT.
Definition at line 42 of file ObjectLinkingLayer.h.
◆ ReturnObjectBufferFunction
Initial value:
std::function<void(std::unique_ptr)>
Definition at line 51 of file ObjectLinkingLayer.h.
| llvm::orc::ObjectLinkingLayer::ObjectLinkingLayer ( ExecutionSession & ES) | inline |
|---|
◆ ObjectLinkingLayer() [2/3]
◆ ObjectLinkingLayer() [3/3]
◆ add() [1/4]
◆ add() [2/4]
◆ add() [3/4]
◆ add() [4/4]
◆ emit() [1/3]
◆ emit() [2/3]
Emit a LinkGraph with the given backing buffer.
This overload is intended for use by ObjectLinkingLayer.
◆ emit() [3/3]
◆ setReturnObjectBuffer()
| void llvm::orc::ObjectLinkingLayer::setReturnObjectBuffer ( ReturnObjectBufferFunction ReturnObjectBuffer) | inline |
|---|
◆ ID
| char llvm::orc::ObjectLinkingLayer::ID | static |
|---|
The documentation for this class was generated from the following files:
- include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
- lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp