[MLIR][normalize-memrefs] Non-normalizable operations with identity map layouts do...
authorTung D. Le <tung@jp.ibm.com>
Fri, 19 Aug 2022 02:57:20 +0000 (08:27 +0530)
committerUday Bondhugula <uday@polymagelabs.com>
Fri, 19 Aug 2022 02:57:45 +0000 (08:27 +0530)
commit183c4a391ef344220664d1d103d43639468bf103
tree0500e13efe2604faa0ad41015a15c5d502003625
parente941b031d316f74267350fe2373d30e28b3a2c2e
[MLIR][normalize-memrefs] Non-normalizable operations with identity map layouts do not block normalization of the entire function

The current approach is convervative in which whenever there is a
non-normalizable operations in a function will the function be labelled
as non-normalizable. It means it requires that all operations must have
MemRefsNormalizable trait.

This patch relaxes the requirement that if the memref map layouts of a
non-normalizable operation are identity, this operation does not block
the normalization of the other operations in the same function.

Reviewed By: bondhugula

Differential Revision: https://reviews.llvm.org/D125854
mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
mlir/test/Transforms/normalize-memrefs-ops.mlir