14 #ifndef LLVM_EXECUTIONENGINE_ORC_LAYER_H 15 #define LLVM_EXECUTIONENGINE_ORC_LAYER_H 44 this->CloneToNewContextOnEmit = CloneToNewContextOnEmit;
59 bool CloneToNewContextOnEmit =
false;
129 std::unique_ptr<MemoryBuffer> O) = 0;
143 std::unique_ptr<MemoryBuffer> O,
155 std::unique_ptr<MemoryBuffer>
O;
167 #endif // LLVM_EXECUTIONENGINE_ORC_LAYER_H bool getCloneToNewContextOnEmit() const
Returns the current value of the CloneToNewContextOnEmit flag.
IRLayer(ExecutionSession &ES)
This class represents lattice values for constants.
SymbolNameToDefinitionMap SymbolToDefinition
uint64_t VModuleKey
VModuleKey provides a unique identifier (allocated and managed by ExecutionSessions) for a module add...
Materializes the given object file (represented by a MemoryBuffer instance) by calling 'emit' on the ...
amdgpu Simplify well known AMD library false Value Value const Twine & Name
static StringRef getName(Value *V)
std::map< SymbolStringPtr, GlobalValue * > SymbolNameToDefinitionMap
Tagged union holding either a T or a Error.
virtual Error add(JITDylib &JD, ThreadSafeModule TSM, VModuleKey K=VModuleKey())
Adds a MaterializationUnit representing the given IR to the given JITDylib.
Tracks responsibility for materialization, and mediates interactions between MaterializationUnits and...
IRMaterializationUnit is a convenient base class for MaterializationUnits wrapping LLVM IR...
ExecutionSession & getExecutionSession()
Returns the execution session for this layer.
MaterializationUnit that materializes modules by calling the 'emit' method on the given IRLayer...
ExecutionSession & getExecutionSession()
Returns the ExecutionSession for this layer.
Pointer to a pooled string representing a symbol name.
virtual void emit(MaterializationResponsibility R, ThreadSafeModule TSM)=0
Emit should materialize the given IR.
Expected< SymbolFlagsMap > getObjectSymbolFlags(ExecutionSession &ES, MemoryBufferRef ObjBuffer)
Returns a SymbolFlagsMap for the object file represented by the given buffer, or an error if the buff...
void setCloneToNewContextOnEmit(bool CloneToNewContextOnEmit)
Sets the CloneToNewContextOnEmit flag (false by default).
An LLVM Module together with a shared ThreadSafeContext.
Interface for layers that accept LLVM IR.
A MaterializationUnit represents a set of symbol definitions that can be materialized as a group...
const ThreadSafeModule & getModule() const
Module.h This file contains the declarations for the Module class.
An ExecutionSession represents a running JIT program.
Lightweight error class with error context and mandatory checking.
Interface for Layers that accept object files.
StringRef - Represent a constant reference to a string, i.e.
A symbol table that supports asynchoronous symbol queries.