Recently a kind of alias analysis has been introduced in the affine scalar replacement pass (⚙ D104053 [MLIR] Correct memrefdataflow behavior in the presence of cast and other operations by @wsmoses) It’s nice to see that more attention is getting payed to correctness, however I have a couple of questions:
- There is already a generic local alias analysis implemented by @River707 (LocalAliasAnalysis), it seems that they have a large overlap in functionality. Any plans to converge them?
- The change breaks some examples that relied on the silent assumption that memrefs passed as parameters to a function do not alias. Seems like we need a mechanism to mark certain memrefs as non-aliasing. Any plans to implement this?