improve comment.
authorChris Lattner <sabre@nondot.org>
Thu, 28 Apr 2011 20:02:57 +0000 (20:02 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 28 Apr 2011 20:02:57 +0000 (20:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130426 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/GVN.cpp

index abd76898cd37837a059286b5e7ab08aa4e10562c..efecb97de77d8e60e391db50f63e958442becc72 100644 (file)
@@ -969,8 +969,13 @@ static Value *GetLoadValueForLoad(LoadInst *SrcVal, unsigned Offset,
                     NewLoadSize*8-SrcVal->getType()->getPrimitiveSizeInBits());
     RV = Builder.CreateTrunc(RV, SrcVal->getType());
     SrcVal->replaceAllUsesWith(RV);
+    
+    // We would like to use gvn.markInstructionForDeletion here, but we can't
+    // because the load is already memoized into the leader map table that GVN
+    // tracks.  It is potentially possible to remove the load from the table,
+    // but then there all of the operations based on it would need to be
+    // rehashed.  Just leave the dead load around.
     gvn.getMemDep().removeInstruction(SrcVal);
-    //gvn.markInstructionForDeletion(SrcVal);
     SrcVal = NewLoad;
   }