refactor TryToSimplifyUncondBranchFromEmptyBlock out of SimplifyCFG.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86666 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2009-11-10 05:59:26 +00:00
parent c5e1ae1313
commit dce94d92df
3 changed files with 181 additions and 165 deletions

View File

@ -85,7 +85,14 @@ void RecursivelyDeleteDeadPHINode(PHINode *PN);
///
void MergeBasicBlockIntoOnlyPred(BasicBlock *BB, Pass *P = 0);
/// TryToSimplifyUncondBranchFromEmptyBlock - BB is known to contain an
/// unconditional branch, and contains no instructions other than PHI nodes,
/// potential debug intrinsics and the branch. If possible, eliminate BB by
/// rewriting all the predecessors to branch to the successor block and return
/// true. If we can't transform, return false.
bool TryToSimplifyUncondBranchFromEmptyBlock(BasicBlock *BB);
/// SimplifyCFG - This function is used to do simplification of a CFG. For
/// example, it adjusts branches to branches to eliminate the extra hop, it
/// eliminates unreachable basic blocks, and does other "peephole" optimization