LLVM  14.0.0git
Public Member Functions | Static Public Attributes | List of all members
llvm::orc::ObjectLayer Class Referenceabstract

Interface for Layers that accept object files. More...

#include "llvm/ExecutionEngine/Orc/Layer.h"

Inheritance diagram for llvm::orc::ObjectLayer:
Inheritance graph
[legend]
Collaboration diagram for llvm::orc::ObjectLayer:
Collaboration graph
[legend]

Public Member Functions

 ObjectLayer (ExecutionSession &ES)
 
virtual ~ObjectLayer ()
 
ExecutionSessiongetExecutionSession ()
 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...
 
- Public Member Functions inherited from llvm::RTTIExtends< ObjectLayer, RTTIRoot >
const void * dynamicClassID () const override
 
bool isA (const void *const ClassID) const override
 

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 RTTIRoot *R)
 

Detailed Description

Interface for Layers that accept object files.

Definition at line 134 of file Layer.h.

Constructor & Destructor Documentation

◆ ObjectLayer()

llvm::orc::ObjectLayer::ObjectLayer ( ExecutionSession ES)

Definition at line 160 of file Layer.cpp.

◆ ~ObjectLayer()

llvm::orc::ObjectLayer::~ObjectLayer ( )
virtual

Definition at line 162 of file Layer.cpp.

Member Function Documentation

◆ add() [1/2]

Error llvm::orc::ObjectLayer::add ( JITDylib JD,
std::unique_ptr< MemoryBuffer O 
)
inline

◆ add() [2/2]

Error llvm::orc::ObjectLayer::add ( ResourceTrackerSP  RT,
std::unique_ptr< MemoryBuffer O 
)
virtual

Adds a MaterializationUnit representing the given IR to the given JITDylib.

Definition at line 164 of file Layer.cpp.

References assert(), llvm::orc::BasicObjectLayerMaterializationUnit::Create(), llvm::orc::JITDylib::define(), move, and llvm::RISCVFenceField::O.

Referenced by add().

◆ emit()

virtual void llvm::orc::ObjectLayer::emit ( std::unique_ptr< MaterializationResponsibility R,
std::unique_ptr< MemoryBuffer O 
)
pure virtual

Emit should materialize the given IR.

Referenced by llvm::orc::ObjectTransformLayer::emit(), and llvm::orc::IRCompileLayer::emit().

◆ getExecutionSession()

ExecutionSession& llvm::orc::ObjectLayer::getExecutionSession ( )
inline

Returns the execution session for this layer.

Definition at line 142 of file Layer.h.

Referenced by llvm::orc::BasicObjectLayerMaterializationUnit::Create().

Member Data Documentation

◆ ID

char llvm::orc::ObjectLayer::ID
static

Definition at line 136 of file Layer.h.


The documentation for this class was generated from the following files: