LLVM: include/llvm/ExecutionEngine/Orc/IRTransformLayer.h Source File (original) (raw)
Go to the documentation of this file.
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_EXECUTIONENGINE_ORC_IRTRANSFORMLAYER_H
14#define LLVM_EXECUTIONENGINE_ORC_IRTRANSFORMLAYER_H
15
20#include
21
22namespace llvm {
23namespace orc {
24
25
26
27
29public:
32
35
37 this->Transform = std::move(Transform);
38 }
39
40 void emit(std::unique_ptr R,
42
47
48private:
50 TransformFunction Transform;
51};
52
53}
54}
55
56#endif
An ExecutionSession represents a running JIT program.
Interface for layers that accept LLVM IR.
IRLayer(ExecutionSession &ES, const IRSymbolMapper::ManglingOptions *&MO)
void setTransform(TransformFunction Transform)
Definition IRTransformLayer.h:36
unique_function< Expected< ThreadSafeModule >( ThreadSafeModule, MaterializationResponsibility &R)> TransformFunction
Definition IRTransformLayer.h:30
IRTransformLayer(ExecutionSession &ES, IRLayer &BaseLayer, TransformFunction Transform=identityTransform)
static ThreadSafeModule identityTransform(ThreadSafeModule TSM, MaterializationResponsibility &R)
Definition IRTransformLayer.h:43
Tracks responsibility for materialization, and mediates interactions between MaterializationUnits and...
An LLVM Module together with a shared ThreadSafeContext.
unique_function is a type-erasing functor similar to std::function.
This is an optimization pass for GlobalISel generic memory operations.