Minor cleanups
authorChris Lattner <sabre@nondot.org>
Tue, 24 Sep 2002 00:09:26 +0000 (00:09 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 24 Sep 2002 00:09:26 +0000 (00:09 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3904 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Utils/SimplifyCFG.cpp

index 59ea9865afd93017242ea70a99a4e84b63014c49..f7eaa67acf7d9545f7a25d85910758841ab48122 100644 (file)
@@ -28,7 +28,9 @@
 //
 static bool PropogatePredecessorsForPHIs(BasicBlock *BB, BasicBlock *Succ) {
   assert(*succ_begin(BB) == Succ && "Succ is not successor of BB!");
-  assert(isa<PHINode>(Succ->front()) && "Only works on PHId BBs!");
+
+  if (!isa<PHINode>(Succ->front()))
+    return false;  // We can make the transformation, no problem.
 
   // If there is more than one predecessor, and there are PHI nodes in
   // the successor, then we need to add incoming edges for the PHI nodes
@@ -39,10 +41,9 @@ static bool PropogatePredecessorsForPHIs(BasicBlock *BB, BasicBlock *Succ) {
   // Succ.  If so, we cannot do the transformation!
   //
   for (pred_iterator PI = pred_begin(Succ), PE = pred_end(Succ);
-       PI != PE; ++PI) {
+       PI != PE; ++PI)
     if (find(BBPreds.begin(), BBPreds.end(), *PI) != BBPreds.end())
       return true;
-  }
 
   // Loop over all of the PHI nodes in the successor BB
   for (BasicBlock::iterator I = Succ->begin();
@@ -118,11 +119,8 @@ bool SimplifyCFG(BasicBlock *BB) {
         // Be careful though, if this transformation fails (returns true) then
         // we cannot do this transformation!
         //
-       if (!isa<PHINode>(Succ->front()) ||
-            !PropogatePredecessorsForPHIs(BB, Succ)) {
-
+       if (!PropogatePredecessorsForPHIs(BB, Succ)) {
           //cerr << "Killing Trivial BB: \n" << BB;
-
           BB->replaceAllUsesWith(Succ);
           std::string OldName = BB->getName();