Return Undef if the block has no dominator. This was required to allow
authorReid Spencer <rspencer@reidspencer.com>
Mon, 16 Jul 2007 21:03:44 +0000 (21:03 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Mon, 16 Jul 2007 21:03:44 +0000 (21:03 +0000)
llvm-gcc build to succeed. Without this change it fails in libstdc++
compilation. This causes no regressions in dejagnu tests. However,
someone who knows this code better might want to review it.

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

lib/Transforms/Utils/LCSSA.cpp

index 3f4bad5c5135893c67cdac4cf9bc6305344b90c8..220241df3356b7321a6f09d694f65ec4cb0f6dac 100644 (file)
@@ -231,6 +231,10 @@ Value *LCSSA::GetValueForBlock(DomTreeNode *BB, Instruction *OrigInst,
 
   DomTreeNode *IDom = BB->getIDom();
 
+  // If the block has no dominator, bail
+  if (!IDom)
+    return V = UndefValue::get(OrigInst->getType());
+
   // Otherwise, there are two cases: we either have to insert a PHI node or we
   // don't.  We need to insert a PHI node if this block is not dominated by one
   // of the exit nodes from the loop (the loop could have multiple exits, and