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. | |
![]() | |
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 |
![]() | |
virtual | ~RTTIRoot ()=default |
virtual const void * | dynamicClassID () const =0 |
Returns the class ID for the dynamic type of this RTTIRoot instance. | |
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 const void * | classID () |
static bool | classof (const T *R) |
![]() | |
static const void * | classID () |
Returns the class ID for this type. | |
ObjectLayer::ObjectLayer | ( | ExecutionSession & | ES | ) |
|
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 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.
Referenced by add(), llvm::orc::ForceLoadMachOArchiveMembers::operator()(), and llvm::orc::StaticLibraryDefinitionGenerator::tryToGenerate().
|
pure virtual |
Emit should materialize the given IR.
Implemented in llvm::orc::LazyObjectLinkingLayer.
Referenced by llvm::orc::ObjectTransformLayer::emit(), and llvm::orc::IRCompileLayer::emit().
|
inline |
Returns the execution session for this layer.
Definition at line 142 of file Layer.h.
Referenced by llvm::orc::LazyObjectLinkingLayer::add(), add(), and llvm::orc::StaticLibraryDefinitionGenerator::tryToGenerate().