[llvm] r298199 - NewGVN: Now that we have a better verifier, we can prove that we can erase the predicateuser set each time we mark it touched

Daniel Berlin via llvm-commits llvm-commits at lists.llvm.org
Sat Mar 18 17:07:32 PDT 2017


Author: dannyb
Date: Sat Mar 18 19:07:32 2017
New Revision: 298199

URL: http://llvm.org/viewvc/llvm-project?rev=298199&view=rev
Log:
NewGVN: Now that we have a better verifier, we can prove that we can erase the predicateuser set each time we mark it touched

Modified:
    llvm/trunk/lib/Transforms/Scalar/NewGVN.cpp

Modified: llvm/trunk/lib/Transforms/Scalar/NewGVN.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/NewGVN.cpp?rev=298199&r1=298198&r2=298199&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/NewGVN.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/NewGVN.cpp Sat Mar 18 19:07:32 2017
@@ -1328,9 +1328,11 @@ void NewGVN::addPredicateUsers(const Pre
 // Touch all the predicates that depend on this instruction.
 void NewGVN::markPredicateUsersTouched(Instruction *I) {
   const auto Result = PredicateToUsers.find(I);
-  if (Result != PredicateToUsers.end())
+  if (Result != PredicateToUsers.end()) {
     for (auto *User : Result->second)
       TouchedInstructions.set(InstrDFS.lookup(User));
+    PredicateToUsers.erase(Result);
+  }
 }
 
 // Touch the instructions that need to be updated after a congruence class has a




More information about the llvm-commits mailing list