[Mlir-commits] [mlir] [mlir][gpu] Fix memref.dim folding with negative index (PR #205338)
Mehdi Amini
llvmlistbot at llvm.org
Tue Jun 23 07:43:20 PDT 2026
================
@@ -2323,17 +2323,18 @@ struct SimplifyDimOfAllocOp : public OpRewritePattern<memref::DimOp> {
if (!index)
return failure();
+ int64_t indexVal = index.value();
auto memrefType = llvm::dyn_cast<MemRefType>(dimOp.getSource().getType());
- if (!memrefType || index.value() >= memrefType.getRank() ||
- !memrefType.isDynamicDim(index.value()))
+ if (!memrefType || indexVal < 0 || indexVal >= memrefType.getRank() ||
+ !memrefType.isDynamicDim(indexVal))
return failure();
auto alloc = dimOp.getSource().getDefiningOp<AllocOp>();
if (!alloc)
return failure();
Value substituteOp = *(alloc.getDynamicSizes().begin() +
- memrefType.getDynamicDimIndex(index.value()));
+ memrefType.getDynamicDimIndex(indexVal));
----------------
joker-eph wrote:
Which line triggered the crash?
https://github.com/llvm/llvm-project/pull/205338
More information about the Mlir-commits
mailing list