improve naming of values in GVN, patch by Jay Foad!
authorChris Lattner <sabre@nondot.org>
Thu, 12 Feb 2009 07:00:35 +0000 (07:00 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 12 Feb 2009 07:00:35 +0000 (07:00 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64363 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/GVN.cpp

index 9c7f9041068b6877c007b197959f389a554c94ad..727d26555df9abbb849fddc824bc73735e007792 100644 (file)
@@ -1035,7 +1035,7 @@ bool GVN::processNonLocalLoad(LoadInst *LI,
     Value* v = GetValueForBlock(LI->getParent(), LI, BlockReplValues, true);
     LI->replaceAllUsesWith(v);
     
-    if (!isa<GlobalValue>(v))
+    if (isa<PHINode>(v))
       v->takeName(LI);
     if (isa<PointerType>(v->getType()))
       MD->invalidateCachedPointerInfo(v);
@@ -1132,7 +1132,7 @@ bool GVN::processNonLocalLoad(LoadInst *LI,
   // Perform PHI construction.
   Value* v = GetValueForBlock(LI->getParent(), LI, BlockReplValues, true);
   LI->replaceAllUsesWith(v);
-  if (!isa<GlobalValue>(v))
+  if (isa<PHINode>(v))
     v->takeName(LI);
   if (isa<PointerType>(v->getType()))
     MD->invalidateCachedPointerInfo(v);