Forgot to check for if iterator reached the end.
authorEvan Cheng <evan.cheng@apple.com>
Mon, 4 Jun 2007 20:33:36 +0000 (20:33 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Mon, 4 Jun 2007 20:33:36 +0000 (20:33 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37420 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/IfConversion.cpp

index 57862eb38c52f717b792d5b0d826ad4ba79c05ce..95a5394f90b460912e959a641ac6f9f09fb9d8d1 100644 (file)
@@ -441,8 +441,9 @@ bool IfConverter::AnalyzeBlocks(MachineFunction &MF,
 /// isNextBlock - Returns true either if ToBB the next block after BB or
 /// that all the intervening blocks are empty.
 static bool isNextBlock(MachineBasicBlock *BB, MachineBasicBlock *ToBB) {
+  MachineFunction *MF = BB->getParent();
   MachineFunction::iterator I = BB;
-  while (++I != MachineFunction::iterator(ToBB))
+  while (++I != MF->end() && I != MachineFunction::iterator(ToBB))
     if (!I->empty())
       return false;
   return true;