66include "mlir/Pass/PassBase.td"
77
88//=========================================================//
9- // Conversion passes
9+ // Neura Conversion Passes.
1010//=========================================================//
1111def LowerArithToNeura : Pass<"lower-arith-to-neura", "FuncOp">{
1212 let summary = "Lower arith to Neura dialect";
@@ -44,4 +44,21 @@ def LowerAffineToNeura : Pass<"lower-affine-to-neura", "func::FuncOp">{
4444 let dependentDialects = ["mlir::neura::NeuraDialect", "mlir::affine::AffineDialect"];
4545}
4646
47+ //=========================================================//
48+ // TaskFlow Conversion Passes.
49+ //=========================================================//
50+ def ConvertLinalgToTaskflow : Pass<"convert-linalg-to-taskflow", "ModuleOp">{
51+ let summary = "Convert Linalg operations to Taskflow dialect";
52+ let description = [{
53+ Extracts compute-intensive linalg operations and wraps them into a Taskflow graph for spatial architecture execution.
54+ }];
55+ let constructor = "mlir::createConvertLinalgToTaskflowPass()";
56+ let dependentDialects = [
57+ "mlir::taskflow::TaskflowDialect",
58+ "mlir::linalg::LinalgDialect",
59+ "mlir::func::FuncDialect",
60+ "mlir::arith::ArithDialect"
61+ ];
62+ }
63+
4764#endif // CONVERSION_PASSES_TD
0 commit comments