diff options
Diffstat (limited to 'lib/VMCore/BasicBlock.cpp')
-rw-r--r-- | lib/VMCore/BasicBlock.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/VMCore/BasicBlock.cpp b/lib/VMCore/BasicBlock.cpp index 87b9ddd380..ae6356bc70 100644 --- a/lib/VMCore/BasicBlock.cpp +++ b/lib/VMCore/BasicBlock.cpp @@ -136,8 +136,10 @@ void BasicBlock::dropAllReferences() { // called while the predecessor still refers to this block. // void BasicBlock::removePredecessor(BasicBlock *Pred) { - assert(find(pred_begin(this), pred_end(this), Pred) != pred_end(this) && + assert((getNumUses() > 16 ||// Reduce cost of this assertion for complex CFGs. + find(pred_begin(this), pred_end(this), Pred) != pred_end(this)) && "removePredecessor: BB is not a predecessor!"); + if (InstList.empty()) return; PHINode *APN = dyn_cast<PHINode>(&front()); if (!APN) return; // Quick exit. |