#pragma once #include #include "mlir/IR/PatternMatch.h" #include "mlir/Support/LogicalResult.h" #include "src/Accelerators/PIM/Dialect/Spatial/SpatialOps.hpp" namespace onnx_mlir { mlir::FailureOr lowerSelectedConv2DPlan(spatial::SpatConv2DPlanOp planOp, std::optional rowStripInput, bool emitRowStripLayout, mlir::PatternRewriter& rewriter); mlir::LogicalResult canLowerConvPlanToRowStrip(spatial::SpatConv2DPlanOp planOp); mlir::LogicalResult canConsumeAndProduceRowStrip(spatial::SpatConv2DPlanOp planOp); } // namespace onnx_mlir