Revert "SCEV: Use I = vector<>.erase(I) to iterate and delete at the same time"

as committed in r208282. The original commit was incorrect.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208286 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Tobias Grosser 2014-05-08 07:55:34 +00:00
parent 1c2f863df9
commit f46646d87b

View File

@ -7223,9 +7223,12 @@ static void findArrayDimensionsRec(ScalarEvolution &SE,
Terms[I] = Q;
}
for (auto I = Terms.begin(), E = Terms.end(); I != E; I++)
if (isa<SCEVConstant>(*I))
I = Terms.erase(I);
// Remove all SCEVConstants.
for (unsigned I = 0; I < Terms.size();)
if (isa<SCEVConstant>(Terms[I]))
Terms.erase(Terms.begin() + I);
else
++I;
if (Terms.size() > 0)
findArrayDimensionsRec(SE, Terms, Sizes, Zero, One);