diff options
author | Tobias Grosser <tobias@grosser.es> | 2014-05-08 07:12:44 +0000 |
---|---|---|
committer | Tobias Grosser <tobias@grosser.es> | 2014-05-08 07:12:44 +0000 |
commit | ecfe9d06ebf5474fb40de27ed883d2b4277e38f4 (patch) | |
tree | f258ecea8b3ea397d5e7679527bf5d963dcf25f2 /llvm/lib/Analysis/ScalarEvolution.cpp | |
parent | f9ae312fc0dc17e24bff22b570cbe3f44b0d317c (diff) | |
download | bcm5719-llvm-ecfe9d06ebf5474fb40de27ed883d2b4277e38f4.tar.gz bcm5719-llvm-ecfe9d06ebf5474fb40de27ed883d2b4277e38f4.zip |
SCEV: Use I = vector<>.erase(I) to iterate and delete at the same time
llvm-svn: 208282
Diffstat (limited to 'llvm/lib/Analysis/ScalarEvolution.cpp')
-rw-r--r-- | llvm/lib/Analysis/ScalarEvolution.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp index 148e58d548f..8f5a2a98cc1 100644 --- a/llvm/lib/Analysis/ScalarEvolution.cpp +++ b/llvm/lib/Analysis/ScalarEvolution.cpp @@ -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); |