From 3abb95df01ff2ea5a6a35a1b47351072d4cb4c73 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 24 Sep 2002 00:09:26 +0000 Subject: [PATCH] Minor cleanups git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3904 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Utils/SimplifyCFG.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/lib/Transforms/Utils/SimplifyCFG.cpp b/lib/Transforms/Utils/SimplifyCFG.cpp index 59ea9865afd..f7eaa67acf7 100644 --- a/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/lib/Transforms/Utils/SimplifyCFG.cpp @@ -28,7 +28,9 @@ // static bool PropogatePredecessorsForPHIs(BasicBlock *BB, BasicBlock *Succ) { assert(*succ_begin(BB) == Succ && "Succ is not successor of BB!"); - assert(isa(Succ->front()) && "Only works on PHId BBs!"); + + if (!isa(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(Succ->front()) || - !PropogatePredecessorsForPHIs(BB, Succ)) { - + if (!PropogatePredecessorsForPHIs(BB, Succ)) { //cerr << "Killing Trivial BB: \n" << BB; - BB->replaceAllUsesWith(Succ); std::string OldName = BB->getName(); -- 2.34.1