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

llvm-svn: 208282
This commit is contained in:
Tobias Grosser 2014-05-08 07:12:44 +00:00
parent f9ae312fc0
commit ecfe9d06eb
1 changed files with 3 additions and 6 deletions

View File

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