Simplify loop that worked around bugs in old GCC/Xcode.
authorErik Verbruggen <erikjv@me.com>
Tue, 25 Mar 2014 09:06:18 +0000 (09:06 +0000)
committerErik Verbruggen <erikjv@me.com>
Tue, 25 Mar 2014 09:06:18 +0000 (09:06 +0000)
GCC 4.0.1 and Xcode 2 are no longer supported for building llvm/clang.

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

lib/Analysis/CFG.cpp

index 9ebbb6784971b7ac6a890eb3259a2889fae65256..69637606328b14f41dd031e53b537d2452f15f88 100644 (file)
@@ -101,15 +101,9 @@ bool llvm::isCriticalEdge(const TerminatorInst *TI, unsigned SuccNum,
 
   // If AllowIdenticalEdges is true, then we allow this edge to be considered
   // non-critical iff all preds come from TI's block.
-  while (I != E) {
-    const BasicBlock *P = *I;
-    if (P != FirstPred)
+  for (; I != E; ++I)
+    if (*I != FirstPred)
       return true;
-    // Note: leave this as is until no one ever compiles with either gcc 4.0.1
-    // or Xcode 2. This seems to work around the pred_iterator assert in PR 2207
-    E = pred_end(P);
-    ++I;
-  }
   return false;
 }