diff --git a/mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp b/mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp --- a/mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp +++ b/mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp @@ -137,6 +137,8 @@ llvm_unreachable("Expect to be able to extract a view defining loop range"); } +// Fuse the `producer` into `consumer`. The `producer` will be tiled base on +// the subview of the operand in consumer. static LinalgOp fuse(Value producedView, LinalgOp producer, LinalgOp consumer, unsigned consumerIdx, unsigned producerIdx, OperationFolder *folder) { @@ -150,11 +152,6 @@ if (convOp.padding()) llvm_unreachable("Unexpected conv with padding"); } - if (auto convOp = dyn_cast(consumer.getOperation())) { - // TODO(ntv): add a level of indirection to linalg.generic. - if (convOp.padding()) - llvm_unreachable("Unexpected conv with padding"); - } auto subView = dyn_cast_or_null( consumer.getBuffer(consumerIdx).getDefiningOp());