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