+++ /dev/null
-//===- 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 ®istry);
-
-} // namespace vector_ext
-} // namespace comprehensive_bufferize
-} // namespace linalg
-} // namespace mlir
-
-#endif // MLIR_DIALECT_LINALG_COMPREHENSIVEBUFFERIZE_VECTORINTERFACEIMPL_H
--- /dev/null
+//===- 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 ®istry);
+} // namespace vector
+} // namespace mlir
+
+#endif // MLIR_DIALECT_VECTOR_BUFFERIZABLEOPINTERFACEIMPL_H
MLIRTensor
)
-add_mlir_dialect_library(MLIRVectorBufferizableOpInterfaceImpl
- VectorInterfaceImpl.cpp
-
- LINK_LIBS PUBLIC
- MLIRBufferization
- MLIRIR
- MLIRVector
-)
-
add_mlir_dialect_library(MLIRModuleBufferization
ModuleBufferization.cpp
MLIRTransforms
MLIRTransformUtils
MLIRVector
- MLIRVectorBufferizableOpInterfaceImpl
MLIRVectorTransforms
MLIRVectorUtils
MLIRX86VectorTransforms
#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"
std_ext::registerModuleBufferizationExternalModels(registry);
mlir::registerBufferizableOpInterfaceExternalModels(registry);
tensor::registerBufferizableOpInterfaceExternalModels(registry);
- vector_ext::registerBufferizableOpInterfaceExternalModels(registry);
+ vector::registerBufferizableOpInterfaceExternalModels(registry);
}
};
} // namespace
-//===- 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.
//
//===----------------------------------------------------------------------===//
-#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.
}
};
-} // namespace vector_ext
-} // namespace comprehensive_bufferize
-} // namespace linalg
+} // namespace
+} // namespace vector
} // namespace mlir
-void mlir::linalg::comprehensive_bufferize::vector_ext::
- registerBufferizableOpInterfaceExternalModels(DialectRegistry ®istry) {
- registry.addOpInterface<vector::TransferReadOp,
- vector_ext::TransferReadOpInterface>();
- registry.addOpInterface<vector::TransferWriteOp,
- vector_ext::TransferWriteOpInterface>();
+void mlir::vector::registerBufferizableOpInterfaceExternalModels(
+ DialectRegistry ®istry) {
+ registry.addOpInterface<TransferReadOp, TransferReadOpInterface>();
+ registry.addOpInterface<TransferWriteOp, TransferWriteOpInterface>();
}
add_mlir_dialect_library(MLIRVectorTransforms
+ BufferizableOpInterfaceImpl.cpp
VectorDropLeadUnitDim.cpp
VectorInsertExtractStridedSliceRewritePatterns.cpp
VectorMultiDimReductionTransforms.cpp
MLIRAffineAnalysis
MLIRAffineUtils
MLIRArithmetic
+ MLIRBufferization
MLIRDialectUtils
MLIRIR
MLIRLinalg
MLIRTensorTransforms
MLIRTransformUtils
MLIRVector
- MLIRVectorBufferizableOpInterfaceImpl
MLIRVectorToSCF
+ MLIRVectorTransforms
)
#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"
#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"
scf::registerBufferizableOpInterfaceExternalModels(registry);
mlir::registerBufferizableOpInterfaceExternalModels(registry);
tensor::registerBufferizableOpInterfaceExternalModels(registry);
- vector_ext::registerBufferizableOpInterfaceExternalModels(registry);
+ vector::registerBufferizableOpInterfaceExternalModels(registry);
}
void runOnOperation() override;
":AffineAnalysis",
":Analysis",
":ArithmeticDialect",
+ ":BufferizationDialect",
":DialectUtils",
":IR",
":LinalgOps",
],
)
-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"],
":TensorTransforms",
":TensorUtils",
":TransformUtils",
- ":VectorBufferizableOpInterfaceImpl",
":VectorOps",
":VectorToSCF",
":VectorTransforms",
"//mlir:TensorDialect",
"//mlir:TensorTransforms",
"//mlir:TransformUtils",
- "//mlir:VectorBufferizableOpInterfaceImpl",
"//mlir:VectorOps",
"//mlir:VectorToSCF",
+ "//mlir:VectorTransforms",
],
)