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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208282 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Tobias Grosser 2014-05-08 07:12:44 +00:00
parent c51c340989
commit 96f8c5651c

View File

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