diff options
-rw-r--r-- | include/llvm/Transforms/Utils/BasicBlockUtils.h | 7 | ||||
-rw-r--r-- | lib/Transforms/Utils/BasicBlockUtils.cpp | 13 | ||||
-rw-r--r-- | 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 881bcffc12..d6140ae2a5 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 bfcf375f51..9452e6e877 100644 --- a/lib/Transforms/Utils/BasicBlockUtils.cpp +++ b/lib/Transforms/Utils/BasicBlockUtils.cpp @@ -24,14 +24,10 @@ #include <algorithm> 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 7077436a1d..f4faeb3deb 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; } |