1616
1717#include " daphne-opt.h"
1818
19+ #include < mlir/Dialect/Arith/Transforms/BufferizableOpInterfaceImpl.h>
20+ #include < mlir/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.h>
21+ #include < mlir/Dialect/Func/Extensions/InlinerExtension.h>
1922#include < mlir/Dialect/LLVMIR/LLVMDialect.h>
23+ #include < mlir/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.h>
24+ #include < mlir/Dialect/Linalg/Transforms/BufferizableOpInterfaceImpl.h>
25+ #include < mlir/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.h>
26+ #include < mlir/Dialect/SparseTensor/IR/SparseTensor.h>
27+ #include < mlir/Dialect/SparseTensor/Transforms/BufferizableOpInterfaceImpl.h>
28+ #include < mlir/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.h>
2029
2130#include " ir/daphneir/Passes.h"
2231#include " mlir/Dialect/Affine/IR/AffineOps.h"
@@ -37,15 +46,24 @@ int main(int argc, char **argv) {
3746 mlir::daphne::registerDaphnePasses ();
3847
3948 mlir::DialectRegistry registry;
40- registry.insert <mlir::daphne::DaphneDialect, mlir::arith::ArithDialect, mlir::func::FuncDialect,
41- mlir::scf::SCFDialect, mlir::LLVM::LLVMDialect, mlir::affine::AffineDialect,
42- mlir::memref::MemRefDialect, mlir::linalg::LinalgDialect, mlir::math::MathDialect,
43- mlir::bufferization::BufferizationDialect, mlir::tensor::TensorDialect>();
49+ registry
50+ .insert <mlir::daphne::DaphneDialect, mlir::arith::ArithDialect, mlir::func::FuncDialect, mlir::scf::SCFDialect,
51+ mlir::LLVM::LLVMDialect, mlir::affine::AffineDialect, mlir::memref::MemRefDialect,
52+ mlir::linalg::LinalgDialect, mlir::math::MathDialect, mlir::bufferization::BufferizationDialect,
53+ mlir::tensor::TensorDialect, mlir::sparse_tensor::SparseTensorDialect>();
4454 // Add the following to include *all* MLIR Core dialects, or selectively
4555 // include what you need like above. You only need to register dialects that
4656 // will be *parsed* by the tool, not the one generated
4757 // registerAllDialects(registry);
4858
59+ mlir::LLVM::registerInlinerInterface (registry);
60+ mlir::func::registerInlinerExtension (registry);
61+ mlir::linalg::registerBufferizableOpInterfaceExternalModels (registry);
62+ mlir::arith::registerBufferizableOpInterfaceExternalModels (registry);
63+ mlir::scf::registerBufferizableOpInterfaceExternalModels (registry);
64+ mlir::tensor::registerBufferizableOpInterfaceExternalModels (registry);
65+ mlir::bufferization::func_ext::registerBufferizableOpInterfaceExternalModels (registry);
66+ mlir::sparse_tensor::registerBufferizableOpInterfaceExternalModels (registry);
4967 return mlir::asMainReturnCode (
5068 mlir::MlirOptMain (argc, argv, " Standalone DAPHNE optimizing compiler driver\n " , registry));
5169}
0 commit comments