Skip to content

Commit 99ef9ee

Browse files
[mlir][vector][NFC] Split into IR, Transforms and Utils
This reduces the dependencies of the MLIRVector target and makes the dialect consistent with other dialects. Differential Revision: https://reviews.llvm.org/D118533
1 parent b8290ff commit 99ef9ee

File tree

72 files changed

+452
-302
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+452
-302
lines changed

mlir/docs/Dialects/Vector.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ d2, d3) -> (d3, d1, d0)} : vector<5x4x3xf32>, memref<?x?x?x?xf32>
119119

120120
The list of Vector is currently undergoing evolutions and is best kept track of
121121
by following the evolution of the
122-
[VectorOps.td](https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Dialect/Vector/VectorOps.td)
122+
[VectorOps.td](https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Dialect/Vector/IR/VectorOps.td)
123123
ODS file (markdown documentation is automatically generated locally when
124124
building and populates the
125125
[Vector doc](https://github.com/llvm/llvm-project/blob/main/mlir/docs/Dialects/Vector.md)).

mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
#include "mlir/Dialect/SCF/Utils/Utils.h"
1818
#include "mlir/Dialect/Tensor/IR/Tensor.h"
1919
#include "mlir/Dialect/Utils/StaticValueUtils.h"
20-
#include "mlir/Dialect/Vector/VectorTransforms.h"
20+
#include "mlir/Dialect/Vector/Transforms/VectorTransforms.h"
2121
#include "mlir/Dialect/X86Vector/Transforms.h"
2222
#include "mlir/IR/PatternMatch.h"
2323
#include "mlir/Transforms/DialectConversion.h"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
//===- IndexingUtils.h - Helpers related to index computations --*- C++ -*-===//
2+
//
3+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4+
// See https://llvm.org/LICENSE.txt for license information.
5+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6+
//
7+
//===----------------------------------------------------------------------===//
8+
//
9+
// This header file defines utilities and common canonicalization patterns for
10+
// reshape operations.
11+
//
12+
//===----------------------------------------------------------------------===//
13+
14+
#ifndef MLIR_DIALECT_UTILS_INDEXINGUTILS_H
15+
#define MLIR_DIALECT_UTILS_INDEXINGUTILS_H
16+
17+
#include "mlir/Support/LLVM.h"
18+
#include "llvm/ADT/ArrayRef.h"
19+
#include "llvm/ADT/SmallVector.h"
20+
21+
namespace mlir {
22+
class ArrayAttr;
23+
24+
/// Computes and returns the linearized index of 'offsets' w.r.t. 'basis'.
25+
int64_t linearize(ArrayRef<int64_t> offsets, ArrayRef<int64_t> basis);
26+
27+
/// Given the strides together with a linear index in the dimension
28+
/// space, returns the vector-space offsets in each dimension for a
29+
/// de-linearized index.
30+
SmallVector<int64_t, 4> delinearize(ArrayRef<int64_t> strides,
31+
int64_t linearIndex);
32+
33+
/// Helper that returns a subset of `arrayAttr` as a vector of int64_t.
34+
SmallVector<int64_t, 4> getI64SubArray(ArrayAttr arrayAttr,
35+
unsigned dropFront = 0,
36+
unsigned dropBack = 0);
37+
} // namespace mlir
38+
39+
#endif // MLIR_DIALECT_UTILS_INDEXINGUTILS_H
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,2 @@
1-
add_mlir_dialect(VectorOps vector)
2-
add_mlir_doc(VectorOps VectorOps Dialects/ -gen-op-doc)
3-
4-
set(LLVM_TARGET_DEFINITIONS VectorOps.td)
5-
mlir_tablegen(VectorOpsEnums.h.inc -gen-enum-decls)
6-
mlir_tablegen(VectorOpsEnums.cpp.inc -gen-enum-defs)
7-
add_public_tablegen_target(MLIRVectorOpsEnumsIncGen)
8-
add_dependencies(mlir-headers MLIRVectorOpsEnumsIncGen)
1+
add_subdirectory(IR)
2+
add_subdirectory(Transforms)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
add_mlir_dialect(VectorOps vector)
2+
add_mlir_doc(VectorOps VectorOps Dialects/ -gen-op-doc)
3+
4+
set(LLVM_TARGET_DEFINITIONS VectorOps.td)
5+
mlir_tablegen(VectorOpsEnums.h.inc -gen-enum-decls)
6+
mlir_tablegen(VectorOpsEnums.cpp.inc -gen-enum-defs)
7+
add_public_tablegen_target(MLIRVectorOpsEnumsIncGen)
8+
add_dependencies(mlir-headers MLIRVectorOpsEnumsIncGen)

mlir/include/mlir/Dialect/Vector/VectorOps.h mlir/include/mlir/Dialect/Vector/IR/VectorOps.h

+27-8
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
#ifndef MLIR_DIALECT_VECTOR_VECTOROPS_H
14-
#define MLIR_DIALECT_VECTOR_VECTOROPS_H
13+
#ifndef MLIR_DIALECT_VECTOR_IR_VECTOROPS_H
14+
#define MLIR_DIALECT_VECTOR_IR_VECTOROPS_H
1515

1616
#include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
1717
#include "mlir/Dialect/StandardOps/IR/Ops.h"
@@ -27,13 +27,15 @@
2727
#include "llvm/ADT/StringExtras.h"
2828

2929
// Pull in all enum type definitions and utility function declarations.
30-
#include "mlir/Dialect/Vector/VectorOpsEnums.h.inc"
30+
#include "mlir/Dialect/Vector/IR/VectorOpsEnums.h.inc"
3131

3232
namespace mlir {
3333
class MLIRContext;
3434
class RewritePatternSet;
3535

3636
namespace vector {
37+
class TransferReadOp;
38+
class TransferWriteOp;
3739
class VectorDialect;
3840

3941
namespace detail {
@@ -152,18 +154,35 @@ Value getVectorReductionOp(arith::AtomicRMWKind op, OpBuilder &builder,
152154
/// return true for memrefs with no strides.
153155
bool isLastMemrefDimUnitStride(MemRefType type);
154156

155-
namespace impl {
156157
/// Build the default minor identity map suitable for a vector transfer. This
157158
/// also handles the case memref<... x vector<...>> -> vector<...> in which the
158159
/// rank of the identity map must take the vector element type into account.
159160
AffineMap getTransferMinorIdentityMap(ShapedType shapedType,
160161
VectorType vectorType);
161-
} // namespace impl
162+
163+
/// Return true if the transfer_write fully writes the data accessed by the
164+
/// transfer_read.
165+
bool checkSameValueRAW(TransferWriteOp defWrite, TransferReadOp read);
166+
167+
/// Return true if the write op fully over-write the priorWrite transfer_write
168+
/// op.
169+
bool checkSameValueWAW(TransferWriteOp write, TransferWriteOp priorWrite);
170+
171+
/// Same behavior as `isDisjointTransferSet` but doesn't require the operations
172+
/// to have the same tensor/memref. This allows comparing operations accessing
173+
/// different tensors.
174+
bool isDisjointTransferIndices(VectorTransferOpInterface transferA,
175+
VectorTransferOpInterface transferB);
176+
177+
/// Return true if we can prove that the transfer operations access disjoint
178+
/// memory.
179+
bool isDisjointTransferSet(VectorTransferOpInterface transferA,
180+
VectorTransferOpInterface transferB);
162181
} // namespace vector
163182
} // namespace mlir
164183

165184
#define GET_OP_CLASSES
166-
#include "mlir/Dialect/Vector/VectorOps.h.inc"
167-
#include "mlir/Dialect/Vector/VectorOpsDialect.h.inc"
185+
#include "mlir/Dialect/Vector/IR/VectorOps.h.inc"
186+
#include "mlir/Dialect/Vector/IR/VectorOpsDialect.h.inc"
168187

169-
#endif // MLIR_DIALECT_VECTOR_VECTOROPS_H
188+
#endif // MLIR_DIALECT_VECTOR_IR_VECTOROPS_H
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# This dialect does currently not have any passes.

mlir/include/mlir/Dialect/Vector/VectorRewritePatterns.h mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#ifndef MLIR_DIALECT_VECTOR_VECTORREWRITEPATTERNS_H
10-
#define MLIR_DIALECT_VECTOR_VECTORREWRITEPATTERNS_H
9+
#ifndef MLIR_DIALECT_VECTOR_TRANSFORMS_VECTORREWRITEPATTERNS_H
10+
#define MLIR_DIALECT_VECTOR_TRANSFORMS_VECTORREWRITEPATTERNS_H
1111

1212
#include <utility>
1313

14-
#include "mlir/Dialect/Vector/VectorOps.h"
15-
#include "mlir/Dialect/Vector/VectorUtils.h"
14+
#include "mlir/Dialect/Vector/IR/VectorOps.h"
15+
#include "mlir/Dialect/Vector/Utils/VectorUtils.h"
1616
#include "mlir/IR/BuiltinOps.h"
1717
#include "mlir/IR/PatternMatch.h"
1818

@@ -513,4 +513,4 @@ class ContractionOpLowering : public OpRewritePattern<vector::ContractionOp> {
513513
} // namespace vector
514514
} // namespace mlir
515515

516-
#endif // MLIR_DIALECT_VECTOR_VECTORREWRITEPATTERNS_H
516+
#endif // MLIR_DIALECT_VECTOR_TRANSFORMS_VECTORREWRITEPATTERNS_H

mlir/include/mlir/Dialect/Vector/VectorTransforms.h mlir/include/mlir/Dialect/Vector/Transforms/VectorTransforms.h

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#ifndef MLIR_DIALECT_VECTOR_VECTORTRANSFORMS_H
10-
#define MLIR_DIALECT_VECTOR_VECTORTRANSFORMS_H
9+
#ifndef MLIR_DIALECT_VECTOR_TRANSFORMS_VECTORTRANSFORMS_H
10+
#define MLIR_DIALECT_VECTOR_TRANSFORMS_VECTORTRANSFORMS_H
1111

12-
#include "mlir/Dialect/Vector/VectorRewritePatterns.h"
13-
#include "mlir/Dialect/Vector/VectorUtils.h"
12+
#include "mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h"
13+
#include "mlir/Dialect/Vector/Utils/VectorUtils.h"
1414

1515
namespace mlir {
1616
class MLIRContext;
@@ -94,4 +94,4 @@ void transferOpflowOpt(FuncOp func);
9494
} // namespace vector
9595
} // namespace mlir
9696

97-
#endif // MLIR_DIALECT_VECTOR_VECTORTRANSFORMS_H
97+
#endif // MLIR_DIALECT_VECTOR_TRANSFORMS_VECTORTRANSFORMS_H

mlir/include/mlir/Dialect/Vector/VectorUtils.h mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h

+3-44
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#ifndef MLIR_DIALECT_VECTOR_VECTORUTILS_H_
10-
#define MLIR_DIALECT_VECTOR_VECTORUTILS_H_
9+
#ifndef MLIR_DIALECT_VECTOR_UTILS_VECTORUTILS_H_
10+
#define MLIR_DIALECT_VECTOR_UTILS_VECTORUTILS_H_
1111

1212
#include "mlir/IR/BuiltinAttributes.h"
1313
#include "mlir/Support/LLVM.h"
@@ -47,15 +47,6 @@ int64_t computeMaxLinearIndex(ArrayRef<int64_t> basis);
4747
SmallVector<int64_t, 4> computeStrides(ArrayRef<int64_t> shape,
4848
ArrayRef<int64_t> sizes);
4949

50-
/// Computes and returns the linearized index of 'offsets' w.r.t. 'basis'.
51-
int64_t linearize(ArrayRef<int64_t> offsets, ArrayRef<int64_t> basis);
52-
53-
/// Given the strides together with a linear index in the dimension
54-
/// space, returns the vector-space offsets in each dimension for a
55-
/// de-linearized index.
56-
SmallVector<int64_t, 4> delinearize(ArrayRef<int64_t> strides,
57-
int64_t linearIndex);
58-
5950
/// Given the target sizes of a vector, together with vector-space offsets,
6051
/// returns the element-space offsets for each dimension.
6152
SmallVector<int64_t, 4>
@@ -158,38 +149,6 @@ AffineMap
158149
makePermutationMap(Operation *insertPoint, ArrayRef<Value> indices,
159150
const DenseMap<Operation *, unsigned> &loopToVectorDim);
160151

161-
/// Build the default minor identity map suitable for a vector transfer. This
162-
/// also handles the case memref<... x vector<...>> -> vector<...> in which the
163-
/// rank of the identity map must take the vector element type into account.
164-
AffineMap getTransferMinorIdentityMap(ShapedType shapedType,
165-
VectorType vectorType);
166-
167-
/// Return true if we can prove that the transfer operations access disjoint
168-
/// memory.
169-
bool isDisjointTransferSet(VectorTransferOpInterface transferA,
170-
VectorTransferOpInterface transferB);
171-
172-
/// Same behavior as `isDisjointTransferSet` but doesn't require the operations
173-
/// to have the same tensor/memref. This allows comparing operations accessing
174-
/// different tensors.
175-
bool isDisjointTransferIndices(VectorTransferOpInterface transferA,
176-
VectorTransferOpInterface transferB);
177-
178-
/// Return true if the transfer_write fully writes the data accessed by the
179-
/// transfer_read.
180-
bool checkSameValueRAW(vector::TransferWriteOp defWrite,
181-
vector::TransferReadOp read);
182-
183-
/// Return true if the write op fully over-write the priorWrite transfer_write
184-
/// op.
185-
bool checkSameValueWAW(vector::TransferWriteOp write,
186-
vector::TransferWriteOp priorWrite);
187-
188-
// Helper that returns a subset of `arrayAttr` as a vector of int64_t.
189-
SmallVector<int64_t, 4> getI64SubArray(ArrayAttr arrayAttr,
190-
unsigned dropFront = 0,
191-
unsigned dropBack = 0);
192-
193152
namespace matcher {
194153

195154
/// Matches vector.transfer_read, vector.transfer_write and ops that return a
@@ -205,4 +164,4 @@ bool operatesOnSuperVectorsOf(Operation &op, VectorType subVectorType);
205164
} // namespace matcher
206165
} // namespace mlir
207166

208-
#endif // MLIR_DIALECT_VECTOR_VECTORUTILS_H_
167+
#endif // MLIR_DIALECT_VECTOR_UTILS_VECTORUTILS_H_

mlir/include/mlir/InitAllDialects.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
#include "mlir/Dialect/Tensor/IR/TensorInferTypeOpInterfaceImpl.h"
4646
#include "mlir/Dialect/Tensor/IR/TensorTilingInterfaceImpl.h"
4747
#include "mlir/Dialect/Tosa/IR/TosaOps.h"
48-
#include "mlir/Dialect/Vector/VectorOps.h"
48+
#include "mlir/Dialect/Vector/IR/VectorOps.h"
4949
#include "mlir/Dialect/X86Vector/X86VectorDialect.h"
5050
#include "mlir/IR/Dialect.h"
5151

mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#include "mlir/Dialect/MemRef/IR/MemRef.h"
2020
#include "mlir/Dialect/SCF/SCF.h"
2121
#include "mlir/Dialect/StandardOps/IR/Ops.h"
22-
#include "mlir/Dialect/Vector/VectorOps.h"
22+
#include "mlir/Dialect/Vector/IR/VectorOps.h"
2323
#include "mlir/IR/AffineExprVisitor.h"
2424
#include "mlir/IR/BlockAndValueMapping.h"
2525
#include "mlir/IR/Builders.h"

mlir/lib/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#include "mlir/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.h"
1010
#include "../PassDetail.h"
1111
#include "mlir/Dialect/ArmNeon/ArmNeonDialect.h"
12-
#include "mlir/Dialect/Vector/VectorOps.h"
12+
#include "mlir/Dialect/Vector/IR/VectorOps.h"
1313
#include "mlir/IR/PatternMatch.h"
1414
#include "mlir/Pass/Pass.h"
1515
#include "mlir/Pass/PassRegistry.h"

mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
#include "mlir/Dialect/GPU/Passes.h"
2626
#include "mlir/Dialect/LLVMIR/ROCDLDialect.h"
2727
#include "mlir/Dialect/Math/IR/Math.h"
28-
#include "mlir/Dialect/Vector/VectorOps.h"
28+
#include "mlir/Dialect/Vector/IR/VectorOps.h"
2929
#include "mlir/Pass/Pass.h"
3030
#include "mlir/Transforms/DialectConversion.h"
3131
#include "mlir/Transforms/GreedyPatternRewriteDriver.h"

mlir/lib/Conversion/MathToLibm/CMakeLists.txt

+2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ add_mlir_conversion_library(MLIRMathToLibm
1212

1313
LINK_LIBS PUBLIC
1414
MLIRArithmetic
15+
MLIRDialectUtils
1516
MLIRMath
1617
MLIRStandardOpsTransforms
1718
MLIRVector
19+
MLIRVectorUtils
1820
)

mlir/lib/Conversion/MathToLibm/MathToLibm.cpp

+3-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@
1212
#include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
1313
#include "mlir/Dialect/Math/IR/Math.h"
1414
#include "mlir/Dialect/StandardOps/IR/Ops.h"
15-
#include "mlir/Dialect/Vector/VectorOps.h"
16-
#include "mlir/Dialect/Vector/VectorUtils.h"
15+
#include "mlir/Dialect/Utils/IndexingUtils.h"
16+
#include "mlir/Dialect/Vector/IR/VectorOps.h"
17+
#include "mlir/Dialect/Vector/Utils/VectorUtils.h"
1718
#include "mlir/IR/BuiltinDialect.h"
1819
#include "mlir/IR/PatternMatch.h"
1920

mlir/lib/Conversion/VectorToGPU/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@ add_mlir_conversion_library(MLIRVectorToGPU
1414
MLIRMemRef
1515
MLIRTransforms
1616
MLIRVector
17+
MLIRVectorUtils
1718
)

mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
#include "mlir/Dialect/MemRef/IR/MemRef.h"
2222
#include "mlir/Dialect/SCF/SCF.h"
2323
#include "mlir/Dialect/Utils/StructuredOpsUtils.h"
24-
#include "mlir/Dialect/Vector/VectorOps.h"
25-
#include "mlir/Dialect/Vector/VectorUtils.h"
24+
#include "mlir/Dialect/Vector/IR/VectorOps.h"
25+
#include "mlir/Dialect/Vector/Utils/VectorUtils.h"
2626
#include "mlir/IR/Builders.h"
2727
#include "mlir/Pass/Pass.h"
2828
#include "mlir/Transforms/GreedyPatternRewriteDriver.h"

mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ add_mlir_conversion_library(MLIRVectorToLLVM
2525
MLIRTargetLLVMIRExport
2626
MLIRTransforms
2727
MLIRVector
28+
MLIRVectorTransforms
2829
MLIRX86Vector
2930
MLIRX86VectorTransforms
3031
)

mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
1515
#include "mlir/Dialect/MemRef/IR/MemRef.h"
1616
#include "mlir/Dialect/StandardOps/IR/Ops.h"
17-
#include "mlir/Dialect/Vector/VectorTransforms.h"
17+
#include "mlir/Dialect/Vector/Transforms/VectorTransforms.h"
1818
#include "mlir/IR/BuiltinTypes.h"
1919
#include "mlir/Support/MathExtras.h"
2020
#include "mlir/Target/LLVMIR/TypeToLLVM.h"

mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
2222
#include "mlir/Dialect/MemRef/IR/MemRef.h"
2323
#include "mlir/Dialect/StandardOps/IR/Ops.h"
24-
#include "mlir/Dialect/Vector/VectorRewritePatterns.h"
24+
#include "mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h"
2525
#include "mlir/Dialect/X86Vector/Transforms.h"
2626
#include "mlir/Dialect/X86Vector/X86VectorDialect.h"
2727
#include "mlir/Transforms/GreedyPatternRewriteDriver.h"

mlir/lib/Conversion/VectorToROCDL/VectorToROCDL.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
2323
#include "mlir/Dialect/LLVMIR/ROCDLDialect.h"
2424
#include "mlir/Dialect/StandardOps/IR/Ops.h"
25-
#include "mlir/Dialect/Vector/VectorOps.h"
25+
#include "mlir/Dialect/Vector/IR/VectorOps.h"
2626
#include "mlir/Pass/Pass.h"
2727
#include "mlir/Transforms/DialectConversion.h"
2828

mlir/lib/Conversion/VectorToSCF/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,5 @@ add_mlir_conversion_library(MLIRVectorToSCF
1313
MLIRMemRef
1414
MLIRTransforms
1515
MLIRVector
16+
MLIRVectorTransforms
1617
)

mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
2020
#include "mlir/Dialect/MemRef/IR/MemRef.h"
2121
#include "mlir/Dialect/SCF/SCF.h"
22-
#include "mlir/Dialect/Vector/VectorTransforms.h"
22+
#include "mlir/Dialect/Vector/Transforms/VectorTransforms.h"
2323
#include "mlir/IR/Builders.h"
2424
#include "mlir/IR/ImplicitLocOpBuilder.h"
2525
#include "mlir/Pass/Pass.h"

0 commit comments

Comments
 (0)