[Mlir-commits] [mlir] c42a262 - [MLIR] Bug Fix: affine.prefetch replaceAffineOp invoked during canonicalization (#88346)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Thu Apr 11 17:04:30 PDT 2024
Author: Alexandre Eichenberger
Date: 2024-04-11T20:04:26-04:00
New Revision: c42a262560a659d1cfb9ec46712ad66420314f2d
URL: https://github.com/llvm/llvm-project/commit/c42a262560a659d1cfb9ec46712ad66420314f2d
DIFF: https://github.com/llvm/llvm-project/commit/c42a262560a659d1cfb9ec46712ad66420314f2d.diff
LOG: [MLIR] Bug Fix: affine.prefetch replaceAffineOp invoked during canonicalization (#88346)
Signed-off-by: Alexandre Eichenberger <alexe at us.ibm.com>
Added:
Modified:
mlir/lib/Dialect/Affine/IR/AffineOps.cpp
mlir/test/Dialect/Affine/canonicalize.mlir
Removed:
################################################################################
diff --git a/mlir/lib/Dialect/Affine/IR/AffineOps.cpp b/mlir/lib/Dialect/Affine/IR/AffineOps.cpp
index c591e5056480ca..c9c0a7b4cc6860 100644
--- a/mlir/lib/Dialect/Affine/IR/AffineOps.cpp
+++ b/mlir/lib/Dialect/Affine/IR/AffineOps.cpp
@@ -1487,9 +1487,8 @@ void SimplifyAffineOp<AffinePrefetchOp>::replaceAffineOp(
PatternRewriter &rewriter, AffinePrefetchOp prefetch, AffineMap map,
ArrayRef<Value> mapOperands) const {
rewriter.replaceOpWithNewOp<AffinePrefetchOp>(
- prefetch, prefetch.getMemref(), map, mapOperands,
- prefetch.getLocalityHint(), prefetch.getIsWrite(),
- prefetch.getIsDataCache());
+ prefetch, prefetch.getMemref(), map, mapOperands, prefetch.getIsWrite(),
+ prefetch.getLocalityHint(), prefetch.getIsDataCache());
}
template <>
void SimplifyAffineOp<AffineStoreOp>::replaceAffineOp(
diff --git a/mlir/test/Dialect/Affine/canonicalize.mlir b/mlir/test/Dialect/Affine/canonicalize.mlir
index 7c0930eedc8568..730808dbbdf180 100644
--- a/mlir/test/Dialect/Affine/canonicalize.mlir
+++ b/mlir/test/Dialect/Affine/canonicalize.mlir
@@ -1452,3 +1452,17 @@ func.func @mod_of_mod(%lb: index, %ub: index, %step: index) -> (index, index) {
%1 = affine.apply affine_map<()[s0, s1, s2] -> ((s0 - ((s0 - s2) mod s1) - s2) mod s1)> ()[%ub, %step, %lb]
return %0, %1 : index, index
}
+
+// -----
+
+// CHECK-LABEL: func.func @prefetch_canonicalize
+// CHECK-SAME: ([[PARAM_0_:%.+]]: memref<512xf32>) {
+func.func @prefetch_canonicalize(%arg0: memref<512xf32>) -> () {
+ // CHECK: affine.for [[I_0_:%.+]] = 0 to 8 {
+ affine.for %arg3 = 0 to 8 {
+ %1 = affine.apply affine_map<()[s0] -> (s0 * 64)>()[%arg3]
+ // CHECK: affine.prefetch [[PARAM_0_]][symbol([[I_0_]]) * 64], read, locality<3>, data : memref<512xf32>
+ affine.prefetch %arg0[%1], read, locality<3>, data : memref<512xf32>
+ }
+ return
+}
More information about the Mlir-commits
mailing list