From: Daniel Berlin Date: Sat, 11 Feb 2017 15:20:15 +0000 (+0000) Subject: NewGVN: Reverse sense of this test to make it clearer X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1886f7825d55bd0da436464afda8b36514fc0d06;p=llvm NewGVN: Reverse sense of this test to make it clearer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294851 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/Scalar/NewGVN.cpp b/lib/Transforms/Scalar/NewGVN.cpp index 2d8f22962a9..47627937cfa 100644 --- a/lib/Transforms/Scalar/NewGVN.cpp +++ b/lib/Transforms/Scalar/NewGVN.cpp @@ -1450,11 +1450,13 @@ void NewGVN::initializeCongruenceClasses(Function &F) { MemoryAccessToClass[MP] = InitialClass; for (auto &I : B) { - // Don't insert void terminators into the class - if (!isa(I) || !I.getType()->isVoidTy()) { - InitialValues.insert(&I); - ValueToClass[&I] = InitialClass; - } + // Don't insert void terminators into the class. We don't value number + // them, and they just end up sitting in INITIAL. + if (isa(I) && I.getType()->isVoidTy()) + continue; + InitialValues.insert(&I); + ValueToClass[&I] = InitialClass; + // All memory accesses are equivalent to live on entry to start. They must // be initialized to something so that initial changes are noticed. For // the maximal answer, we initialize them all to be the same as