LLVM 22.0.0git
ThreadSafeModule.h File Reference
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/Compiler.h"
#include <functional>
#include <memory>
#include <mutex>

Go to the source code of this file.

Classes

class  llvm::orc::ThreadSafeContext
 An LLVMContext together with an associated mutex that can be used to lock the context to prevent concurrent access by other threads. More...
class  llvm::orc::ThreadSafeModule
 An LLVM Module together with a shared ThreadSafeContext. More...

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::orc

Typedefs

using llvm::orc::GVPredicate = std::function<bool(const GlobalValue &)>
using llvm::orc::GVModifier = std::function<void(GlobalValue &)>

Functions

LLVM_ABI ThreadSafeModule llvm::orc::cloneToContext (const ThreadSafeModule &TSMW, ThreadSafeContext TSCtx, GVPredicate ShouldCloneDef=GVPredicate(), GVModifier UpdateClonedDefSource=GVModifier())
 Clones the given module onto the given context.
LLVM_ABI ThreadSafeModule llvm::orc::cloneExternalModuleToContext (const Module &M, ThreadSafeContext TSCtx, GVPredicate ShouldCloneDef=GVPredicate(), GVModifier UpdateClonedDefSource=GVModifier())
 Clone the given module onto the given context.
LLVM_ABI ThreadSafeModule llvm::orc::cloneToNewContext (const ThreadSafeModule &TSMW, GVPredicate ShouldCloneDef=GVPredicate(), GVModifier UpdateClonedDefSource=GVModifier())
 Clones the given module on to a new context.