[PATCH] D64405: [DependenceAnalysis] Dependecies for loads marked with "ivnariant.load" should not be shared with general accesses. Fix for https://bugs.llvm.org/show_bug.cgi?id=42151

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 29 11:27:28 PDT 2019


reames accepted this revision.
reames added a comment.

LGTM

I'm not really a fan of the design on this, but I've convinced myself this is functionally correct.  The alternate solution I proposed originally I still think can (and maybe should) be made to work, but getting a correctness bug fixed in the meantime is reasonable.



================
Comment at: lib/Analysis/MemoryDependenceAnalysis.cpp:1047
 
   // Keep the ReverseNonLocalPtrDeps map up to date so we can efficiently
   // update MemDep when we remove instructions.
----------------
This code assumes the element is cached, and should be skipped if we don't actually cache.

Note: This doesn't appear to be a functional bug as the remove code checks for existence in the cache along the removal path.  Even for things referenced from the reverse map cache.  


Repository:
  rL LLVM

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

https://reviews.llvm.org/D64405





More information about the llvm-commits mailing list