diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Transforms/Scalar/GVN.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Scalar/GVN.cpp b/llvm/lib/Transforms/Scalar/GVN.cpp index 9c7f9041068..727d26555df 100644 --- a/llvm/lib/Transforms/Scalar/GVN.cpp +++ b/llvm/lib/Transforms/Scalar/GVN.cpp @@ -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); |