[mlir][bufferize][NFC] Move vector BufferizableOpInterface impl to vector dialect
authorMatthias Springer <springerm@google.com>
Mon, 31 Jan 2022 15:27:13 +0000 (00:27 +0900)
committerMatthias Springer <springerm@google.com>
Mon, 31 Jan 2022 15:28:28 +0000 (00:28 +0900)
Differential Revision: https://reviews.llvm.org/D118540

mlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/VectorInterfaceImpl.h [deleted file]
mlir/include/mlir/Dialect/Vector/Transforms/BufferizableOpInterfaceImpl.h [new file with mode: 0644]
mlir/lib/Dialect/Linalg/ComprehensiveBufferize/CMakeLists.txt
mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferizePass.cpp
mlir/lib/Dialect/Vector/Transforms/BufferizableOpInterfaceImpl.cpp [moved from mlir/lib/Dialect/Linalg/ComprehensiveBufferize/VectorInterfaceImpl.cpp with 86% similarity]
mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
mlir/test/lib/Dialect/Linalg/CMakeLists.txt
mlir/test/lib/Dialect/Linalg/TestComprehensiveBufferize.cpp
utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

diff --git a/mlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/VectorInterfaceImpl.h b/mlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/VectorInterfaceImpl.h
deleted file mode 100644 (file)
index 08b6856..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-//===- VectorInterfaceImpl.h - Vector Impl. of BufferizableOpInterface ----===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef MLIR_DIALECT_LINALG_COMPREHENSIVEBUFFERIZE_VECTORINTERFACEIMPL_H
-#define MLIR_DIALECT_LINALG_COMPREHENSIVEBUFFERIZE_VECTORINTERFACEIMPL_H
-
-namespace mlir {
-
-class DialectRegistry;
-
-namespace linalg {
-namespace comprehensive_bufferize {
-namespace vector_ext {
-
-void registerBufferizableOpInterfaceExternalModels(DialectRegistry &registry);
-
-} // namespace vector_ext
-} // namespace comprehensive_bufferize
-} // namespace linalg
-} // namespace mlir
-
-#endif // MLIR_DIALECT_LINALG_COMPREHENSIVEBUFFERIZE_VECTORINTERFACEIMPL_H
diff --git a/mlir/include/mlir/Dialect/Vector/Transforms/BufferizableOpInterfaceImpl.h b/mlir/include/mlir/Dialect/Vector/Transforms/BufferizableOpInterfaceImpl.h
new file mode 100644 (file)
index 0000000..bd1a7f3
--- /dev/null
@@ -0,0 +1,21 @@
+//===- BufferizableOpInterfaceImpl.h - Impl. of BufferizableOpInterface ---===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_DIALECT_VECTOR_BUFFERIZABLEOPINTERFACEIMPL_H
+#define MLIR_DIALECT_VECTOR_BUFFERIZABLEOPINTERFACEIMPL_H
+
+namespace mlir {
+
+class DialectRegistry;
+
+namespace vector {
+void registerBufferizableOpInterfaceExternalModels(DialectRegistry &registry);
+} // namespace vector
+} // namespace mlir
+
+#endif // MLIR_DIALECT_VECTOR_BUFFERIZABLEOPINTERFACEIMPL_H
index 5733f88..c72e99c 100644 (file)
@@ -25,15 +25,6 @@ add_mlir_dialect_library(MLIRLinalgBufferizableOpInterfaceImpl
   MLIRTensor
 )
 
-add_mlir_dialect_library(MLIRVectorBufferizableOpInterfaceImpl
-  VectorInterfaceImpl.cpp
-
-  LINK_LIBS PUBLIC
-  MLIRBufferization
-  MLIRIR
-  MLIRVector
-)
-
 add_mlir_dialect_library(MLIRModuleBufferization
   ModuleBufferization.cpp
 
index f1e7f66..4493cd4 100644 (file)
@@ -58,7 +58,6 @@ add_mlir_dialect_library(MLIRLinalgTransforms
   MLIRTransforms
   MLIRTransformUtils
   MLIRVector
-  MLIRVectorBufferizableOpInterfaceImpl
   MLIRVectorTransforms
   MLIRVectorUtils
   MLIRX86VectorTransforms
index f809bf3..5bd12aa 100644 (file)
 #include "mlir/Dialect/Linalg/ComprehensiveBufferize/AffineInterfaceImpl.h"
 #include "mlir/Dialect/Linalg/ComprehensiveBufferize/LinalgInterfaceImpl.h"
 #include "mlir/Dialect/Linalg/ComprehensiveBufferize/ModuleBufferization.h"
-#include "mlir/Dialect/Linalg/ComprehensiveBufferize/VectorInterfaceImpl.h"
 #include "mlir/Dialect/Linalg/Passes.h"
 #include "mlir/Dialect/SCF/BufferizableOpInterfaceImpl.h"
 #include "mlir/Dialect/StandardOps/Transforms/BufferizableOpInterfaceImpl.h"
 #include "mlir/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.h"
+#include "mlir/Dialect/Vector/Transforms/BufferizableOpInterfaceImpl.h"
 #include "mlir/Pass/Pass.h"
 #include "mlir/Pass/PassManager.h"
 #include "mlir/Transforms/GreedyPatternRewriteDriver.h"
@@ -58,7 +58,7 @@ struct LinalgComprehensiveModuleBufferize
     std_ext::registerModuleBufferizationExternalModels(registry);
     mlir::registerBufferizableOpInterfaceExternalModels(registry);
     tensor::registerBufferizableOpInterfaceExternalModels(registry);
-    vector_ext::registerBufferizableOpInterfaceExternalModels(registry);
+    vector::registerBufferizableOpInterfaceExternalModels(registry);
   }
 };
 } // namespace
@@ -1,4 +1,4 @@
-//===- VectorInterfaceImpl.cpp - Vector Impl. of BufferizableOpInterface --===//
+//===- BufferizableOpInterfaceImpl.cpp - Impl. of BufferizableOpInterface -===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,18 +6,20 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "mlir/Dialect/Linalg/ComprehensiveBufferize/VectorInterfaceImpl.h"
+#include "mlir/Dialect/Vector/Transforms/BufferizableOpInterfaceImpl.h"
+
 #include "mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h"
 #include "mlir/Dialect/Vector/IR/VectorOps.h"
 #include "mlir/IR/Dialect.h"
 #include "mlir/IR/Operation.h"
 
+using namespace mlir;
 using namespace mlir::bufferization;
+using namespace mlir::vector;
 
 namespace mlir {
-namespace linalg {
-namespace comprehensive_bufferize {
-namespace vector_ext {
+namespace vector {
+namespace {
 
 /// Bufferization of vector.transfer_read. Replaced with a new
 /// vector.transfer_read that operates on a memref.
@@ -113,15 +115,12 @@ struct TransferWriteOpInterface
   }
 };
 
-} // namespace vector_ext
-} // namespace comprehensive_bufferize
-} // namespace linalg
+} // namespace
+} // namespace vector
 } // namespace mlir
 
-void mlir::linalg::comprehensive_bufferize::vector_ext::
-    registerBufferizableOpInterfaceExternalModels(DialectRegistry &registry) {
-  registry.addOpInterface<vector::TransferReadOp,
-                          vector_ext::TransferReadOpInterface>();
-  registry.addOpInterface<vector::TransferWriteOp,
-                          vector_ext::TransferWriteOpInterface>();
+void mlir::vector::registerBufferizableOpInterfaceExternalModels(
+    DialectRegistry &registry) {
+  registry.addOpInterface<TransferReadOp, TransferReadOpInterface>();
+  registry.addOpInterface<TransferWriteOp, TransferWriteOpInterface>();
 }
index a228e3e..3c8f6ea 100644 (file)
@@ -1,4 +1,5 @@
 add_mlir_dialect_library(MLIRVectorTransforms
+  BufferizableOpInterfaceImpl.cpp
   VectorDropLeadUnitDim.cpp
   VectorInsertExtractStridedSliceRewritePatterns.cpp
   VectorMultiDimReductionTransforms.cpp
@@ -16,6 +17,7 @@ add_mlir_dialect_library(MLIRVectorTransforms
   MLIRAffineAnalysis
   MLIRAffineUtils
   MLIRArithmetic
+  MLIRBufferization
   MLIRDialectUtils
   MLIRIR
   MLIRLinalg
index 4fa6070..92a3f74 100644 (file)
@@ -33,6 +33,6 @@ add_mlir_library(MLIRLinalgTestPasses
   MLIRTensorTransforms
   MLIRTransformUtils
   MLIRVector
-  MLIRVectorBufferizableOpInterfaceImpl
   MLIRVectorToSCF
+  MLIRVectorTransforms
   )
index 326ec9f..c98f094 100644 (file)
@@ -18,7 +18,6 @@
 #include "mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h"
 #include "mlir/Dialect/Linalg/ComprehensiveBufferize/AffineInterfaceImpl.h"
 #include "mlir/Dialect/Linalg/ComprehensiveBufferize/LinalgInterfaceImpl.h"
-#include "mlir/Dialect/Linalg/ComprehensiveBufferize/VectorInterfaceImpl.h"
 #include "mlir/Dialect/Linalg/IR/Linalg.h"
 #include "mlir/Dialect/Linalg/Passes.h"
 #include "mlir/Dialect/SCF/BufferizableOpInterfaceImpl.h"
@@ -26,6 +25,7 @@
 #include "mlir/Dialect/StandardOps/Transforms/BufferizableOpInterfaceImpl.h"
 #include "mlir/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.h"
 #include "mlir/Dialect/Vector/IR/VectorOps.h"
+#include "mlir/Dialect/Vector/Transforms/BufferizableOpInterfaceImpl.h"
 #include "mlir/Pass/PassManager.h"
 #include "mlir/Transforms/Passes.h"
 
@@ -64,7 +64,7 @@ struct TestComprehensiveFunctionBufferize
     scf::registerBufferizableOpInterfaceExternalModels(registry);
     mlir::registerBufferizableOpInterfaceExternalModels(registry);
     tensor::registerBufferizableOpInterfaceExternalModels(registry);
-    vector_ext::registerBufferizableOpInterfaceExternalModels(registry);
+    vector::registerBufferizableOpInterfaceExternalModels(registry);
   }
 
   void runOnOperation() override;
index 71ac878..15aeed2 100644 (file)
@@ -2833,6 +2833,7 @@ cc_library(
         ":AffineAnalysis",
         ":Analysis",
         ":ArithmeticDialect",
+        ":BufferizationDialect",
         ":DialectUtils",
         ":IR",
         ":LinalgOps",
@@ -6711,24 +6712,6 @@ cc_library(
     ],
 )
 
-cc_library(
-    name = "VectorBufferizableOpInterfaceImpl",
-    srcs = [
-        "lib/Dialect/Linalg/ComprehensiveBufferize/VectorInterfaceImpl.cpp",
-    ],
-    hdrs = [
-        "include/mlir/Dialect/Linalg/ComprehensiveBufferize/VectorInterfaceImpl.h",
-    ],
-    includes = ["include"],
-    deps = [
-        ":BufferizationDialect",
-        ":IR",
-        ":Support",
-        ":VectorOps",
-        "//llvm:Support",
-    ],
-)
-
 td_library(
     name = "LinalgDocTdFiles",
     srcs = ["include/mlir/Dialect/Linalg/IR/LinalgDoc.td"],
@@ -6956,7 +6939,6 @@ cc_library(
         ":TensorTransforms",
         ":TensorUtils",
         ":TransformUtils",
-        ":VectorBufferizableOpInterfaceImpl",
         ":VectorOps",
         ":VectorToSCF",
         ":VectorTransforms",
index ef923da..0f00fdf 100644 (file)
@@ -408,9 +408,9 @@ cc_library(
         "//mlir:TensorDialect",
         "//mlir:TensorTransforms",
         "//mlir:TransformUtils",
-        "//mlir:VectorBufferizableOpInterfaceImpl",
         "//mlir:VectorOps",
         "//mlir:VectorToSCF",
+        "//mlir:VectorTransforms",
     ],
 )