LLVM 20.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. | |
bool | isA (const void *const ClassID) const override |
Public Member Functions inherited from llvm::RTTIRoot | |
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 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 | ) |
|
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 186 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 155 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 179 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 170 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 141 of file Layer.h.
Referenced by llvm::orc::LazyObjectLinkingLayer::add(), add(), and llvm::orc::StaticLibraryDefinitionGenerator::tryToGenerate().