Page MenuHomePhabricator

Fixed bug in buffer deallocation pass using unranked memref types.
ClosedPublic

Authored by dfki-jugr on May 3 2021, 8:05 AM.

Details

Summary

In the buffer deallocation pass, unranked memref types are not properly supported.
After investigating this issue, it turns out that the Clone and Dealloc operation
does not support unranked memref types in the current implementation.
This patch adds the missing feature and enables the transformation of any memref
type.

This patch solves this bug: https://bugs.llvm.org/show_bug.cgi?id=48385

Diff Detail

Event Timeline

dfki-jugr created this revision.May 3 2021, 8:05 AM
dfki-jugr requested review of this revision.May 3 2021, 8:05 AM
herhut requested changes to this revision.May 3 2021, 8:49 AM
herhut added inline comments.
mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
355

Add let verifier = ? here and below to avoid specifying empty verifier.

mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
478

This is already checked by the operand type definitions. You can drop the entire function.

551

Drop this function, as well.

This revision now requires changes to proceed.May 3 2021, 8:49 AM
dfki-jugr updated this revision to Diff 342673.May 4 2021, 2:01 AM

Addressed comments.

herhut accepted this revision.May 7 2021, 2:08 AM

Thanks!

This revision is now accepted and ready to land.May 7 2021, 2:08 AM