When asked not to delete useless PHIs, really don't delete them, no matter how
authorOwen Anderson <resistor@mac.com>
Wed, 14 Jun 2006 04:43:14 +0000 (04:43 +0000)
committerOwen Anderson <resistor@mac.com>
Wed, 14 Jun 2006 04:43:14 +0000 (04:43 +0000)
redundant they are.

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

lib/VMCore/BasicBlock.cpp

index 18a90d6b443d10396aa88024e4fdda150ea74ed7..1b7100c68b21326a791a443318fa7fa5d8a1cfd6 100644 (file)
@@ -213,7 +213,8 @@ void BasicBlock::removePredecessor(BasicBlock *Pred,
       PN->removeIncomingValue(Pred, false);
       // If all incoming values to the Phi are the same, we can replace the Phi
       // with that value.
-      if (Value *PNV = PN->hasConstantValue()) {
+      Value* PNV = 0;
+      if (!DontDeleteUselessPHIs && (PNV = PN->hasConstantValue())) {
         PN->replaceAllUsesWith(PNV);
         PN->eraseFromParent();
       }