[Mlir-commits] [mlir] [mlir] computeSliceParameters: Fix offset when m(0) != 0 (PR #122492)

Matthias Gehre llvmlistbot at llvm.org
Mon Jan 13 01:00:32 PST 2025


================
@@ -596,8 +596,17 @@ computeSliceParameters(OpBuilder &builder, Location loc, Value valueToTile,
     auto m = map.getSubMap({r});
     LLVM_DEBUG(llvm::dbgs() << "computeSliceParameters: submap: " << m << "\n");
     IRRewriter rewriter(builder);
-    OpFoldResult offset = makeComposedFoldedAffineApply(rewriter, loc, m, lbs);
+    // The offset of the slice is map(lbs) - map(0).
+    SmallVector<Attribute> zeros(lbs.size(), rewriter.getIndexAttr(0));
+    SmallVector<Attribute> mAtZero;
+    auto res = m.constantFold(zeros, mAtZero);
+    assert(succeeded(res));
----------------
mgehre-amd wrote:

I also added `[[maybe_unused]]` to `res` to avoid errors in non-debug configs.

https://github.com/llvm/llvm-project/pull/122492


More information about the Mlir-commits mailing list