Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
Loading...
Searching...
No Matches
MLIRIRFunction.h
Go to the documentation of this file.
1#ifndef PROTEUS_IMPL_MLIR_IR_FUNCTION_H
2#define PROTEUS_IMPL_MLIR_IR_FUNCTION_H
3
6
7#include <mlir/IR/Operation.h>
8
9#include <vector>
10
11namespace proteus {
12
16class MLIRIRFunction : public IRFunction {
17public:
18 mlir::Operation *Op;
21 std::vector<IRType> ArgTys;
22
23 explicit MLIRIRFunction(mlir::Operation *Op, bool IsKernel, IRType RetTy,
24 std::vector<IRType> ArgTys)
25 : Op(Op), IsKernel(IsKernel), RetTy(RetTy), ArgTys(std::move(ArgTys)) {}
26};
27
28} // namespace proteus
29
30#endif // PROTEUS_IMPL_MLIR_IR_FUNCTION_H
Definition IRFunction.h:9
Definition MLIRIRFunction.h:16
std::vector< IRType > ArgTys
Definition MLIRIRFunction.h:21
bool IsKernel
Definition MLIRIRFunction.h:19
MLIRIRFunction(mlir::Operation *Op, bool IsKernel, IRType RetTy, std::vector< IRType > ArgTys)
Definition MLIRIRFunction.h:23
mlir::Operation * Op
Definition MLIRIRFunction.h:18
IRType RetTy
Definition MLIRIRFunction.h:20
Definition MemoryCache.h:27
Definition Hashing.h:184
Definition IRType.h:34