LLVM
12.0.0git
|
Interface for Layers that accept object files. More...
#include "llvm/ExecutionEngine/Orc/Layer.h"
Public Member Functions | |
ObjectLayer (ExecutionSession &ES) | |
virtual | ~ObjectLayer () |
ExecutionSession & | getExecutionSession () |
Returns the execution session for this layer. More... | |
virtual Error | add (ResourceTrackerSP RT, std::unique_ptr< MemoryBuffer > O) |
Adds a MaterializationUnit representing the given IR to the given JITDylib. More... | |
Error | add (JITDylib &JD, std::unique_ptr< MemoryBuffer > O) |
virtual void | emit (std::unique_ptr< MaterializationResponsibility > R, std::unique_ptr< MemoryBuffer > O)=0 |
Emit should materialize the given IR. More... | |
llvm::orc::ObjectLayer::ObjectLayer | ( | ExecutionSession & | ES | ) |
|
virtual |
Adds a MaterializationUnit representing the given IR to the given JITDylib.
Definition at line 162 of file Layer.cpp.
References assert(), llvm::orc::BasicObjectLayerMaterializationUnit::Create(), llvm::orc::JITDylib::define(), llvm::move(), and llvm::RISCVFenceField::O.
Referenced by add(), and llvm::orc::MachOPlatform::setupJITDylib().
|
inline |
Definition at line 144 of file Layer.h.
References add(), llvm::orc::JITDylib::getDefaultResourceTracker(), llvm::move(), and llvm::RISCVFenceField::O.
|
pure virtual |
Emit should materialize the given IR.
Implemented in llvm::orc::ObjectLinkingLayer, llvm::orc::RTDyldObjectLinkingLayer, and llvm::orc::ObjectTransformLayer.
Referenced by llvm::orc::ObjectTransformLayer::emit(), and llvm::orc::IRCompileLayer::emit().
|
inline |
Returns the execution session for this layer.
Definition at line 138 of file Layer.h.
Referenced by llvm::orc::BasicObjectLayerMaterializationUnit::Create(), llvm::orc::ObjectTransformLayer::emit(), llvm::orc::RTDyldObjectLinkingLayer::emit(), and llvm::orc::ObjectLinkingLayer::~ObjectLinkingLayer().