The value numbering function is recursive, so it is possible for multiple new
authorDuncan Sands <baldrick@free.fr>
Mon, 27 Feb 2012 09:54:35 +0000 (09:54 +0000)
committerDuncan Sands <baldrick@free.fr>
Mon, 27 Feb 2012 09:54:35 +0000 (09:54 +0000)
value numbers to be assigned when calculating any particular value number.
Enhance the logic that detects new value numbers to take this into account,
for a tiny compile time speedup.  Fix a comment typo while there.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151522 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/GVN.cpp

index 68281e662075b9a62b224230481ccb3ee2498135..06a8be0ba21b8c7b2eaea2a0e6d6417711e4d5de 100644 (file)
@@ -2144,7 +2144,7 @@ bool GVN::processInstruction(Instruction *I) {
   }
 
   // Instructions with void type don't return a value, so there's
-  // no point in trying to find redudancies in them.
+  // no point in trying to find redundancies in them.
   if (I->getType()->isVoidTy()) return false;
   
   uint32_t NextNum = VN.getNextUnusedValueNumber();
@@ -2160,7 +2160,7 @@ bool GVN::processInstruction(Instruction *I) {
   // If the number we were assigned was a brand new VN, then we don't
   // need to do a lookup to see if the number already exists
   // somewhere in the domtree: it can't!
-  if (Num == NextNum) {
+  if (Num >= NextNum) {
     addToLeaderTable(Num, I, I->getParent());
     return false;
   }