From 71af9b07a58a264064813545889cf6473ce23de6 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 3 Dec 2008 06:40:52 +0000 Subject: [PATCH] Rename DeleteBlockIfDead to DeleteDeadBlock and make it unconditionally delete the block. All likely clients will do the checking anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60464 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Transforms/Utils/BasicBlockUtils.h | 7 +++---- lib/Transforms/Utils/BasicBlockUtils.cpp | 13 ++++--------- lib/Transforms/Utils/SimplifyCFG.cpp | 2 +- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/include/llvm/Transforms/Utils/BasicBlockUtils.h b/include/llvm/Transforms/Utils/BasicBlockUtils.h index 881bcffc127..d6140ae2a52 100644 --- a/include/llvm/Transforms/Utils/BasicBlockUtils.h +++ b/include/llvm/Transforms/Utils/BasicBlockUtils.h @@ -26,10 +26,9 @@ class Instruction; class Pass; class AliasAnalysis; -/// DeleteBlockIfDead - If the specified basic block is trivially dead (has no -/// predecessors and not the entry block), delete it and return true. Otherwise -/// return false. -bool DeleteBlockIfDead(BasicBlock *BB); +/// DeleteDeadBlock - Delete the specified block, which must have no +/// predecessors. +void DeleteDeadBlock(BasicBlock *BB); /// MergeBlockIntoPredecessor - Attempts to merge a block into its predecessor, /// if possible. The return value indicates success or failure. diff --git a/lib/Transforms/Utils/BasicBlockUtils.cpp b/lib/Transforms/Utils/BasicBlockUtils.cpp index bfcf375f51a..9452e6e8778 100644 --- a/lib/Transforms/Utils/BasicBlockUtils.cpp +++ b/lib/Transforms/Utils/BasicBlockUtils.cpp @@ -24,14 +24,10 @@ #include using namespace llvm; -/// DeleteBlockIfDead - If the specified basic block is trivially dead (has no -/// predecessors and not the entry block), delete it and return true. Otherwise -/// return false. -bool llvm::DeleteBlockIfDead(BasicBlock *BB) { - if (pred_begin(BB) != pred_end(BB) || - BB == &BB->getParent()->getEntryBlock()) - return false; - +/// DeleteDeadBlock - Delete the specified block, which must have no +/// predecessors. +void llvm::DeleteDeadBlock(BasicBlock *BB) { + assert(pred_begin(BB) != pred_end(BB) && "Block is not dead!"); TerminatorInst *BBTerm = BB->getTerminator(); // Loop through all of our successors and make sure they know that one @@ -54,7 +50,6 @@ bool llvm::DeleteBlockIfDead(BasicBlock *BB) { // Zap the block! BB->eraseFromParent(); - return true; } /// MergeBlockIntoPredecessor - Attempts to merge a block into its predecessor, diff --git a/lib/Transforms/Utils/SimplifyCFG.cpp b/lib/Transforms/Utils/SimplifyCFG.cpp index 7077436a1dd..f4faeb3deb5 100644 --- a/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/lib/Transforms/Utils/SimplifyCFG.cpp @@ -1681,7 +1681,7 @@ bool llvm::SimplifyCFG(BasicBlock *BB) { // as a predecessor. These are unreachable. if (pred_begin(BB) == pred_end(BB) || BB->getSinglePredecessor() == BB) { DOUT << "Removing BB: \n" << *BB; - DeleteBlockIfDead(BB); + DeleteDeadBlock(BB); return true; }