17 Transform(
std::
move(Transform)) {}
21 assert(TSM &&
"Module must not be null");
23 if (
auto TransformedTSM = Transform(std::move(TSM), *R))
24 BaseLayer.emit(std::move(R), std::move(*TransformedTSM));
26 R->failMaterialization();
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
An ExecutionSession represents a running JIT program.
void reportError(Error Err)
Report a error for this execution session.
IRLayer(ExecutionSession &ES, const IRSymbolMapper::ManglingOptions *&MO)
ExecutionSession & getExecutionSession()
Returns the ExecutionSession for this layer.
const IRSymbolMapper::ManglingOptions *& getManglingOptions() const
Get the mangling options for this layer.
An LLVM Module together with a shared ThreadSafeContext.
This is an optimization pass for GlobalISel generic memory operations.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.