LLVM 19.0.0git
Classes | Namespaces | Typedefs | Functions
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::ThreadSafeContext::Lock
 
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

ThreadSafeModule llvm::orc::cloneToNewContext (const ThreadSafeModule &TSMW, GVPredicate ShouldCloneDef=GVPredicate(), GVModifier UpdateClonedDefSource=GVModifier())
 Clones the given module on to a new context.