[PATCH] D73342: Fix EarlyCSE to intersect aliasing metadata.

Neil Henning via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 19 02:26:14 PST 2020


sheredom marked an inline comment as done.
sheredom added inline comments.


================
Comment at: llvm/lib/Transforms/Scalar/EarlyCSE.cpp:1100
+          if (auto OpInst = dyn_cast<Instruction>(Op)) {
+            combineMetadataForCSE(OpInst, Inst, true);
+          }
----------------
hfinkel wrote:
> Why is DoesKMove true here? OpInst dominated Inst in the original IR, no?
My understanding (albeit naive) of combineMetadataForCSE comes from the fact that at the definition the parameter is called KDominatesJ - which for the load case K does dominate J (whereas for the store case it does not, so I set it false there).

The fact the declaration and definition have different terms for the same boolean seems troublesome now I think about it.


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

https://reviews.llvm.org/D73342





More information about the llvm-commits mailing list