LLVM 22.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. | |
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. | |
virtual void | emit (std::unique_ptr< MaterializationResponsibility > R, std::unique_ptr< MemoryBuffer > O)=0 |
Emit should materialize the given IR. | |
Public Member Functions inherited from llvm::RTTIExtends< ObjectLayer, RTTIRoot > | |
const void * | dynamicClassID () const override |
bool | isA () const |
Check whether this instance is a subclass of QueryT. | |
Public Member Functions inherited from llvm::RTTIRoot | |
virtual | ~RTTIRoot ()=default |
virtual bool | isA (const void *const ClassID) const |
Returns true if this class's ID matches the given class ID. |
Static Public Attributes | |
static char | ID |
Additional Inherited Members | |
Static Public Member Functions inherited from llvm::RTTIExtends< ObjectLayer, RTTIRoot > | |
static const void * | classID () |
static bool | classof (const T *R) |
Static Public Member Functions inherited from llvm::RTTIRoot | |
static const void * | classID () |
Returns the class ID for this type. |
ObjectLayer::ObjectLayer | ( | ExecutionSession & | ES | ) |
Definition at line 167 of file Layer.cpp.
Referenced by llvm::orc::LazyObjectLinkingLayer::LazyObjectLinkingLayer().
|
virtualdefault |
Error ObjectLayer::add | ( | JITDylib & | JD, |
std::unique_ptr< MemoryBuffer > | O ) |
Adds a MaterializationUnit for the object file in the given memory buffer to the given JITDylib.
The interface for the object will be built using the default object interface builder.
Definition at line 187 of file Layer.cpp.
References add(), getExecutionSession(), llvm::orc::getObjectFileInterface(), and I.
|
inline |
Adds a MaterializationUnit for the object file in the given memory buffer to the given JITDylib.
Definition at line 156 of file Layer.h.
References add(), llvm::orc::JITDylib::getDefaultResourceTracker(), and I.
Error ObjectLayer::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.
The interface for the object will be built using the default object interface builder.
Definition at line 180 of file Layer.cpp.
References add(), getExecutionSession(), llvm::orc::getObjectFileInterface(), and I.
|
virtual |
Adds a MaterializationUnit for the object file in the given memory buffer to the JITDylib for the given ResourceTracker.
Reimplemented in llvm::orc::LazyObjectLinkingLayer.
Definition at line 171 of file Layer.cpp.
References assert(), llvm::orc::JITDylib::define(), and I.
|
pure virtual |
Emit should materialize the given IR.
Implemented in llvm::orc::LazyObjectLinkingLayer.
|
inline |
Returns the execution session for this layer.
Definition at line 142 of file Layer.h.
Referenced by llvm::orc::LazyObjectLinkingLayer::add(), add(), add(), and llvm::orc::LazyObjectLinkingLayer::LazyObjectLinkingLayer().
|
static |
Definition at line 136 of file Layer.h.
Referenced by llvm::orc::ObjectLinkingLayer::add().