[PATCH] D33056: [NewGVN] When a store becomes the leader, update the memory leader for the class

Daniel Berlin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 10 11:18:52 PDT 2017


dberlin added a comment.

I'm pretty sure this is wrong.
I'll look into it as soon as i get this machine back together.
We actually do set the leader.
Or at least, we should -

As the code says:

  // We rely on the code below handling the MemoryAccess change.

We call moveMemoryToNewCongruenceClass below this which does:

  // First, see what happens to the new class
  if (!NewClass->getMemoryLeader()) {
    // Should be a new class, or a store becoming a leader of a new class.
    assert(NewClass->size() == 1 ||
           (isa<StoreInst>(I) && NewClass->getStoreCount() == 1));
    NewClass->setMemoryLeader(InstMA);

This should give NewClass a memory leader when the store becomes a leader.


https://reviews.llvm.org/D33056





More information about the llvm-commits mailing list