Fix
authorDevang Patel <dpatel@apple.com>
Mon, 16 Apr 2007 23:03:45 +0000 (23:03 +0000)
committerDevang Patel <dpatel@apple.com>
Mon, 16 Apr 2007 23:03:45 +0000 (23:03 +0000)
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070416/047888.html

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

lib/Transforms/Scalar/LoopUnroll.cpp

index eff35e4f142cb5d40665d8e6ed2951687f5cc9b8..63696025cbb43e0c52498ed34dc7e4e308fdc3ed 100644 (file)
@@ -304,6 +304,12 @@ bool LoopUnroll::runOnLoop(Loop *L, LPPassManager &LPM) {
       (*SI)->removeIncomingValue(LatchBlock, false);
       if (InVal)
         (*SI)->addIncoming(InVal, cast<BasicBlock>(LastValueMap[LatchBlock]));
+      if ((*SI)->getNumIncomingValues() == 0) {
+        // Remove this phi node.
+        // If anyone is using this PHI, make them use a dummy value instead...
+        (*SI)->replaceAllUsesWith(UndefValue::get((*SI)->getType()));
+        (*SI)->eraseFromParent();
+      }
     }
   }