[PATCH] D59794: [DAGCombiner] Unify Lifetime and memory Op aliasing.

Nirav Dave via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 26 13:27:42 PDT 2019


niravd marked 8 inline comments as done.
niravd added inline comments.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:19432
+
+  // If one operation reads from invariant memory, and the other may store, they
+  // cannot alias. These should really be checking the equivalent of mayWrite,
----------------
courbet wrote:
> BTW: 
> I'm not sure about this. For example, can we always reorder two writes of different values to invariant memory ? IIUC `isInvariant()` is about reading, but I could see some cases (e.g. hardware control) where invariant memory cares about write ordering.
We shouldn't have to worry about semantically non-standard memory call like hardware control should be volatile already which precludes most alias improvements. 


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D59794/new/

https://reviews.llvm.org/D59794





More information about the llvm-commits mailing list