|
LLVM
3.7.0
|
Eager IR compiling layer. More...
#include <IRCompileLayer.h>
Public Types | |
| typedef std::function < object::OwningBinary < object::ObjectFile >Module &)> | CompileFtor |
| typedef ObjSetHandleT | ModuleSetHandleT |
| Handle to a set of compiled modules. More... | |
Public Member Functions | |
| IRCompileLayer (BaseLayerT &BaseLayer, CompileFtor Compile) | |
| Construct an IRCompileLayer with the given BaseLayer, which must implement the ObjectLayer concept. More... | |
| void | setObjectCache (ObjectCache *NewCache) |
| Set an ObjectCache to query before compiling. More... | |
| template<typename ModuleSetT , typename MemoryManagerPtrT , typename SymbolResolverPtrT > | |
| ModuleSetHandleT | addModuleSet (ModuleSetT Ms, MemoryManagerPtrT MemMgr, SymbolResolverPtrT Resolver) |
| Compile each module in the given module set, then add the resulting set of objects to the base layer along with the memory manager and symbol resolver. More... | |
| void | removeModuleSet (ModuleSetHandleT H) |
| Remove the module set associated with the handle H. More... | |
| JITSymbol | findSymbol (const std::string &Name, bool ExportedSymbolsOnly) |
| Search for the given named symbol. More... | |
| JITSymbol | findSymbolIn (ModuleSetHandleT H, const std::string &Name, bool ExportedSymbolsOnly) |
| Get the address of the given symbol in the context of the set of compiled modules represented by the handle H. More... | |
| void | emitAndFinalize (ModuleSetHandleT H) |
| Immediately emit and finalize the moduleOB set represented by the given handle. More... | |
Eager IR compiling layer.
This layer accepts sets of LLVM IR Modules (via addModuleSet). It immediately compiles each IR module to an object file (each IR Module is compiled separately). The resulting set of object files is then added to the layer below, which must implement the object layer concept.
Definition at line 32 of file IRCompileLayer.h.
| typedef std::function<object::OwningBinary<object::ObjectFile>Module &)> llvm::orc::IRCompileLayer< BaseLayerT >::CompileFtor |
Definition at line 35 of file IRCompileLayer.h.
| typedef ObjSetHandleT llvm::orc::IRCompileLayer< BaseLayerT >::ModuleSetHandleT |
Handle to a set of compiled modules.
Definition at line 45 of file IRCompileLayer.h.
|
inline |
Construct an IRCompileLayer with the given BaseLayer, which must implement the ObjectLayer concept.
Definition at line 49 of file IRCompileLayer.h.
|
inline |
Compile each module in the given module set, then add the resulting set of objects to the base layer along with the memory manager and symbol resolver.
Definition at line 62 of file IRCompileLayer.h.
|
inline |
Immediately emit and finalize the moduleOB set represented by the given handle.
| H | Handle for module set to emit/finalize. |
Definition at line 120 of file IRCompileLayer.h.
|
inline |
Search for the given named symbol.
| Name | The name of the symbol to search for. |
| ExportedSymbolsOnly | If true, search only for exported symbols. |
Definition at line 100 of file IRCompileLayer.h.
|
inline |
Get the address of the given symbol in the context of the set of compiled modules represented by the handle H.
This call is forwarded to the base layer's implementation.
| H | The handle for the module set to search in. |
| Name | The name of the symbol to search for. |
| ExportedSymbolsOnly | If true, search only for exported symbols. |
Definition at line 112 of file IRCompileLayer.h.
|
inline |
Remove the module set associated with the handle H.
Definition at line 94 of file IRCompileLayer.h.
|
inline |
Set an ObjectCache to query before compiling.
Definition at line 53 of file IRCompileLayer.h.
Referenced by llvm::orc::OrcMCJITReplacement::setObjectCache().
1.8.6