LLVM  8.0.1
Public Member Functions | List of all members
llvm::orc::ThreadSafeModule Class Reference

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
 
ThreadSafeModuleoperator= (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 ()
 
ModulegetModule ()
 Get the module wrapped by this ThreadSafeModule. More...
 
const ModulegetModule () 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...
 

Detailed Description

An LLVM Module together with a shared ThreadSafeContext.

Definition at line 83 of file ThreadSafeModule.h.

Constructor & Destructor Documentation

◆ ThreadSafeModule() [1/4]

llvm::orc::ThreadSafeModule::ThreadSafeModule ( )
default

Default construct a ThreadSafeModule.

This results in a null module and null context.

◆ ThreadSafeModule() [2/4]

llvm::orc::ThreadSafeModule::ThreadSafeModule ( ThreadSafeModule &&  Other)
default

◆ ThreadSafeModule() [3/4]

llvm::orc::ThreadSafeModule::ThreadSafeModule ( std::unique_ptr< Module M,
std::unique_ptr< LLVMContext Ctx 
)
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.

◆ ThreadSafeModule() [4/4]

llvm::orc::ThreadSafeModule::ThreadSafeModule ( std::unique_ptr< Module M,
ThreadSafeContext  TSCtx 
)
inline

Construct a ThreadSafeModule from a unique_ptr<Module> and an existing ThreadSafeContext.

Definition at line 115 of file ThreadSafeModule.h.

◆ ~ThreadSafeModule()

llvm::orc::ThreadSafeModule::~ThreadSafeModule ( )
inline

Definition at line 118 of file ThreadSafeModule.h.

Member Function Documentation

◆ getContextLock()

ThreadSafeContext::Lock llvm::orc::ThreadSafeModule::getContextLock ( )
inline

◆ getModule() [1/2]

Module* llvm::orc::ThreadSafeModule::getModule ( )
inline

◆ getModule() [2/2]

const Module* llvm::orc::ThreadSafeModule::getModule ( ) const
inline

Get the module wrapped by this ThreadSafeModule.

Definition at line 130 of file ThreadSafeModule.h.

◆ operator bool()

llvm::orc::ThreadSafeModule::operator bool ( )
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().

◆ operator=()

ThreadSafeModule& llvm::orc::ThreadSafeModule::operator= ( ThreadSafeModule &&  Other)
inline

Definition at line 91 of file ThreadSafeModule.h.

References Other.


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