14 #ifndef LLVM_EXECUTIONENGINE_ORC_IRTRANSFORMLAYER_H 15 #define LLVM_EXECUTIONENGINE_ORC_IRTRANSFORMLAYER_H 35 this->Transform = std::move(Transform);
55 template <
typename BaseLayerT,
typename TransformFtor>
61 TransformFtor Transform = TransformFtor())
62 : BaseLayer(BaseLayer), Transform(
std::move(Transform)) {}
69 return BaseLayer.addModule(std::move(K), Transform(std::move(M)));
80 return BaseLayer.findSymbol(Name, ExportedSymbolsOnly);
92 bool ExportedSymbolsOnly) {
93 return BaseLayer.findSymbolIn(K, Name, ExportedSymbolsOnly);
108 BaseLayerT &BaseLayer;
109 TransformFtor Transform;
115 #endif // LLVM_EXECUTIONENGINE_ORC_IRTRANSFORMLAYER_H Represents a symbol in the JIT.
This class represents lattice values for constants.
uint64_t VModuleKey
VModuleKey provides a unique identifier (allocated and managed by ExecutionSessions) for a module add...
amdgpu Simplify well known AMD library false Value Value const Twine & Name
Tracks responsibility for materialization, and mediates interactions between MaterializationUnits and...
An LLVM Module together with a shared ThreadSafeContext.
Interface for layers that accept LLVM IR.
An ExecutionSession represents a running JIT program.
Lightweight error class with error context and mandatory checking.