LLVM
8.0.1
|
An LLVM Module together with a shared ThreadSafeContext. More...
#include "llvm/ExecutionEngine/Orc/ThreadSafeModule.h"
Public Member Functions | |
ThreadSafeModule ()=default | |
Default construct a ThreadSafeModule. More... | |
ThreadSafeModule (ThreadSafeModule &&Other)=default | |
ThreadSafeModule & | operator= (ThreadSafeModule &&Other) |
ThreadSafeModule (std::unique_ptr< Module > M, std::unique_ptr< LLVMContext > Ctx) | |
Construct a ThreadSafeModule from a unique_ptr<Module> and a unique_ptr<LLVMContext>. More... | |
ThreadSafeModule (std::unique_ptr< Module > M, ThreadSafeContext TSCtx) | |
Construct a ThreadSafeModule from a unique_ptr<Module> and an existing ThreadSafeContext. More... | |
~ThreadSafeModule () | |
Module * | getModule () |
Get the module wrapped by this ThreadSafeModule. More... | |
const Module * | getModule () const |
Get the module wrapped by this ThreadSafeModule. More... | |
ThreadSafeContext::Lock | getContextLock () |
Take out a lock on the ThreadSafeContext for this module. More... | |
operator bool () | |
Boolean conversion: This ThreadSafeModule will evaluate to true if it wraps a non-null module. More... | |
An LLVM Module together with a shared ThreadSafeContext.
Definition at line 83 of file ThreadSafeModule.h.
|
default |
Default construct a ThreadSafeModule.
This results in a null module and null context.
|
default |
|
inline |
Construct a ThreadSafeModule from a unique_ptr<Module> and a unique_ptr<LLVMContext>.
This creates a new ThreadSafeContext from the given context.
Definition at line 110 of file ThreadSafeModule.h.
|
inline |
Construct a ThreadSafeModule from a unique_ptr<Module> and an existing ThreadSafeContext.
Definition at line 115 of file ThreadSafeModule.h.
|
inline |
Definition at line 118 of file ThreadSafeModule.h.
|
inline |
Take out a lock on the ThreadSafeContext for this module.
Definition at line 133 of file ThreadSafeModule.h.
Referenced by llvm::orc::BasicIRLayerMaterializationUnit::BasicIRLayerMaterializationUnit(), and llvm::orc::cloneToNewContext().
|
inline |
Get the module wrapped by this ThreadSafeModule.
Definition at line 127 of file ThreadSafeModule.h.
Referenced by llvm::orc::cloneToNewContext(), llvm::orc::IRTransformLayer::emit(), llvm::orc::IRCompileLayer::emit(), llvm::orc::CompileOnDemandLayer::emit(), llvm::orc::IRMaterializationUnit::getName(), and llvm::orc::IRMaterializationUnit::IRMaterializationUnit().
Get the module wrapped by this ThreadSafeModule.
Definition at line 130 of file ThreadSafeModule.h.
|
inlineexplicit |
Boolean conversion: This ThreadSafeModule will evaluate to true if it wraps a non-null module.
Definition at line 137 of file ThreadSafeModule.h.
References assert().
|
inline |
Definition at line 91 of file ThreadSafeModule.h.
References Other.