[PATCH] D29195: NewGVN: Fix bug exposed by PR31761
    Daniel Berlin via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Thu Jan 26 13:49:38 PST 2017
    
    
  
dberlin marked 2 inline comments as done.
dberlin added inline comments.
================
Comment at: lib/Transforms/Scalar/NewGVN.cpp:707-711
+  // FIXME: We need to audit all the places that current set a nullptr To, and
+  // fix them.  There should always be *some* congruence class, even if it is
+  // singular.  Right now, we don't bother setting congruence classes for
+  // anything but stores, which means we have to return the original access
+  // here.  Otherwise, this should be unreachable.
----------------
davide wrote:
> *sigh*.
Yeah, i think i'm going to try to push that in, because i think this invariant may discover more bugs.
Additionally, it *should* us turn back on a much simpler invariant for the memory accesses:
back in the day, we wanted to turn on the invariant that two stores with equivalent memory states must be in the same congruence class, and that is now true again (AFAIK)
Except for the above case :(
================
Comment at: lib/Transforms/Scalar/NewGVN.cpp:768
   MemoryAccess *StoreAccess = MSSA->getMemoryAccess(SI);
+#if 1
   // See if we are defined by a previous store expression, it already has a
----------------
davide wrote:
> `#if 1` can go away.
Yup
https://reviews.llvm.org/D29195
    
    
More information about the llvm-commits
mailing list