OSDN Git Service

Fix loop condition so that we don't decrement off the beginning of the
authorAlkis Evlogimenos <alkis@evlogimenos.com>
Mon, 20 Sep 2004 06:42:58 +0000 (06:42 +0000)
committerAlkis Evlogimenos <alkis@evlogimenos.com>
Mon, 20 Sep 2004 06:42:58 +0000 (06:42 +0000)
list.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16440 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/InstructionCombining.cpp

index ede265a..d288886 100644 (file)
@@ -3002,12 +3002,12 @@ static bool isSafeToLoadUnconditionally(Value *V, Instruction *ScanFrom) {
 
   // Otherwise, be a little bit agressive by scanning the local block where we
   // want to check to see if the pointer is already being loaded or stored
-  // from/to.  If so, the previous load or store would hav already trapped, so
-  // there is no harm doing an extra load (also, CSE will later eliminate the
-  // load entirely).
+  // from/to.  If so, the previous load or store would have already trapped,
+  // so there is no harm doing an extra load (also, CSE will later eliminate
+  // the load entirely).
   BasicBlock::iterator BBI = ScanFrom, E = ScanFrom->getParent()->begin();
 
-  do {
+  while (BBI != E) {
     --BBI;
 
     if (LoadInst *LI = dyn_cast<LoadInst>(BBI)) {
@@ -3015,7 +3015,7 @@ static bool isSafeToLoadUnconditionally(Value *V, Instruction *ScanFrom) {
     } else if (StoreInst *SI = dyn_cast<StoreInst>(BBI))
       if (SI->getOperand(1) == V) return true;
     
-  } while (BBI != E);
+  }
   return false;
 }