diff --git a/mlir/include/mlir/Transforms/Passes.td b/mlir/include/mlir/Transforms/Passes.td --- a/mlir/include/mlir/Transforms/Passes.td +++ b/mlir/include/mlir/Transforms/Passes.td @@ -352,7 +352,7 @@ works for static shaped memrefs. }]; let constructor = "mlir::createBufferResultsToOutParamsPass()"; - let dependentDialects = ["linalg::LinalgDialect", "memref::MemRefDialect"]; + let dependentDialects = ["memref::MemRefDialect"]; } def Canonicalizer : Pass<"canonicalize"> { diff --git a/mlir/lib/Transforms/BufferResultsToOutParams.cpp b/mlir/lib/Transforms/BufferResultsToOutParams.cpp --- a/mlir/lib/Transforms/BufferResultsToOutParams.cpp +++ b/mlir/lib/Transforms/BufferResultsToOutParams.cpp @@ -7,7 +7,6 @@ //===----------------------------------------------------------------------===// #include "PassDetail.h" -#include "mlir/Dialect/Linalg/IR/LinalgOps.h" #include "mlir/Dialect/MemRef/IR/MemRef.h" #include "mlir/Dialect/StandardOps/IR/Ops.h" #include "mlir/IR/Operation.h" @@ -71,7 +70,7 @@ } OpBuilder builder(op); for (auto t : llvm::zip(copyIntoOutParams, appendedEntryArgs)) - builder.create(op.getLoc(), std::get<0>(t), + builder.create(op.getLoc(), std::get<0>(t), std::get<1>(t)); builder.create(op.getLoc(), keepAsReturnOperands); op.erase(); diff --git a/mlir/lib/Transforms/CMakeLists.txt b/mlir/lib/Transforms/CMakeLists.txt --- a/mlir/lib/Transforms/CMakeLists.txt +++ b/mlir/lib/Transforms/CMakeLists.txt @@ -33,7 +33,6 @@ MLIRAffine MLIRAnalysis MLIRCopyOpInterface - MLIRLinalg MLIRLoopLikeInterface MLIRMemRef MLIRSCF diff --git a/mlir/lib/Transforms/PassDetail.h b/mlir/lib/Transforms/PassDetail.h --- a/mlir/lib/Transforms/PassDetail.h +++ b/mlir/lib/Transforms/PassDetail.h @@ -18,10 +18,6 @@ template void registerDialect(DialectRegistry ®istry); -namespace linalg { -class LinalgDialect; -} // end namespace linalg - namespace memref { class MemRefDialect; } // end namespace memref diff --git a/mlir/test/Transforms/buffer-results-to-out-params.mlir b/mlir/test/Transforms/buffer-results-to-out-params.mlir --- a/mlir/test/Transforms/buffer-results-to-out-params.mlir +++ b/mlir/test/Transforms/buffer-results-to-out-params.mlir @@ -3,7 +3,7 @@ // CHECK-LABEL: func @basic( // CHECK-SAME: %[[ARG:.*]]: memref) { // CHECK: %[[RESULT:.*]] = "test.source"() : () -> memref -// CHECK: linalg.copy(%[[RESULT]], %[[ARG]]) : memref, memref +// CHECK: memref.copy %[[RESULT]], %[[ARG]] : memref to memref // CHECK: return // CHECK: } func @basic() -> (memref) { @@ -15,7 +15,7 @@ // CHECK-SAME: %[[ARG0:.*]]: memref<1xf32>, // CHECK-SAME: %[[ARG1:.*]]: memref<2xf32>) { // CHECK: %[[RESULT:.*]] = "test.source"() : () -> memref<2xf32> -// CHECK: linalg.copy(%[[RESULT]], %[[ARG1]]) : memref<2xf32>, memref<2xf32> +// CHECK: memref.copy %[[RESULT]], %[[ARG1]] : memref<2xf32> to memref<2xf32> // CHECK: return // CHECK: } func @presence_of_existing_arguments(%arg0: memref<1xf32>) -> (memref<2xf32>) { @@ -27,8 +27,8 @@ // CHECK-SAME: %[[ARG0:.*]]: memref<1xf32>, // CHECK-SAME: %[[ARG1:.*]]: memref<2xf32>) { // CHECK: %[[RESULTS:.*]]:2 = "test.source"() : () -> (memref<1xf32>, memref<2xf32>) -// CHECK: linalg.copy(%[[RESULTS]]#0, %[[ARG0]]) : memref<1xf32>, memref<1xf32> -// CHECK: linalg.copy(%[[RESULTS]]#1, %[[ARG1]]) : memref<2xf32>, memref<2xf32> +// CHECK: memref.copy %[[RESULTS]]#0, %[[ARG0]] : memref<1xf32> to memref<1xf32> +// CHECK: memref.copy %[[RESULTS]]#1, %[[ARG1]] : memref<2xf32> to memref<2xf32> // CHECK: return // CHECK: } func @multiple_results() -> (memref<1xf32>, memref<2xf32>) { @@ -39,7 +39,7 @@ // CHECK-LABEL: func @non_memref_types( // CHECK-SAME: %[[OUTPARAM:.*]]: memref) -> (i1, i32) { // CHECK: %[[RESULT1:.*]]:3 = "test.source"() : () -> (i1, memref, i32) -// CHECK: linalg.copy(%[[RESULT1]]#1, %[[OUTPARAM]]) : memref, memref +// CHECK: memref.copy %[[RESULT1]]#1, %[[OUTPARAM]] : memref to memref // CHECK: return %[[RESULT1]]#0, %[[RESULT1]]#2 : i1, i32 // CHECK: } func @non_memref_types() -> (i1, memref, i32) {