This is an archive of the discontinued LLVM Phabricator instance.

[MLIR] Don't remove memref allocation if stored into another allocation
ClosedPublic

Authored by wsmoses on Jun 25 2021, 1:28 PM.

Details

Summary

A canonicalization accidentally will remove a memref allocation if it is only stored into. However, this is incorrect if the allocation is the value being stored, not the allocation being stored into.

Diff Detail

Event Timeline

wsmoses created this revision.Jun 25 2021, 1:28 PM
wsmoses requested review of this revision.Jun 25 2021, 1:28 PM
Herald added a project: Restricted Project. · View Herald TranscriptJun 25 2021, 1:28 PM
rriddle requested changes to this revision.Jun 25 2021, 1:33 PM
rriddle added inline comments.
mlir/lib/IR/Verifier.cpp
255 ↗(On Diff #354589)

This looks unrelated. Can you remove?

This revision now requires changes to proceed.Jun 25 2021, 1:33 PM
wsmoses added inline comments.Jun 25 2021, 1:36 PM
mlir/lib/IR/Verifier.cpp
255 ↗(On Diff #354589)

Yes, absolutely -- not sure how this got caught up in the diff.

wsmoses updated this revision to Diff 354597.Jun 25 2021, 1:44 PM

Remove unrelated verifier patch

rriddle added inline comments.Jun 25 2021, 1:49 PM
mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
180

Nit: Drop the else after a return

The SO should also be camelCase.

wsmoses updated this revision to Diff 354605.Jun 25 2021, 2:24 PM

Update format and naming

ftynse accepted this revision.Jun 28 2021, 12:38 AM
This revision was not accepted when it landed; it landed in state Needs Review.Jun 28 2021, 9:06 AM
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.