Skip to content

Commit b57c07f

Browse files
committed
First commit.
1 parent c88b537 commit b57c07f

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

mlir/include/mlir/Dialect/MemRef/Transforms/Passes.td

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,5 +245,17 @@ def ExpandReallocPass : Pass<"expand-realloc"> {
245245
];
246246
}
247247

248+
def FlattenMemrefsPass : Pass<"flatten-memref"> {
249+
let summary = "Flatten a multiple dimensional memref to 1-dimensional";
250+
let description = [{
251+
252+
}];
253+
254+
let constructor = "mlir::memref::createFlattenMemrefsPass()";
255+
let dependentDialects = [
256+
"affine::AffineDialect", "memref::MemRefDialect", "vector::VectorDialect"
257+
];
258+
}
259+
248260
#endif // MLIR_DIALECT_MEMREF_TRANSFORMS_PASSES
249261

mlir/include/mlir/Dialect/MemRef/Transforms/Transforms.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,9 @@ FailureOr<memref::AllocOp> multiBuffer(memref::AllocOp allocOp,
144144
/// ```
145145
void populateExtractAddressComputationsPatterns(RewritePatternSet &patterns);
146146

147+
148+
void populateFlattenMemrefsPatterns(RewritePatternSet &patterns);
149+
147150
/// Build a new memref::AllocaOp whose dynamic sizes are independent of all
148151
/// given independencies. If the op is already independent of all
149152
/// independencies, the same AllocaOp result is returned.

mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ add_mlir_dialect_library(MLIRMemRefTransforms
88
EmulateWideInt.cpp
99
EmulateNarrowType.cpp
1010
ExtractAddressComputations.cpp
11+
FlattenMemRefs.cpp
1112
FoldMemRefAliasOps.cpp
1213
IndependenceTransforms.cpp
1314
MultiBuffer.cpp
@@ -23,6 +24,7 @@ add_mlir_dialect_library(MLIRMemRefTransforms
2324

2425
LINK_LIBS PUBLIC
2526
MLIRAffineTransforms
27+
MLIRAffineDialect
2628
MLIRAffineUtils
2729
MLIRArithDialect
2830
MLIRArithTransforms

0 commit comments

Comments
 (0)