projects
/
platform
/
upstream
/
llvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
fef9e31
)
Simplify potentially quadratic behavior while erasing elements from std::vector.
author
Jakub Staszak
<kubastaszak@gmail.com>
Tue, 16 Oct 2012 19:32:31 +0000
(19:32 +0000)
committer
Jakub Staszak
<kubastaszak@gmail.com>
Tue, 16 Oct 2012 19:32:31 +0000
(19:32 +0000)
llvm-svn: 166045
llvm/lib/Transforms/Scalar/DCE.cpp
patch
|
blob
|
history
diff --git
a/llvm/lib/Transforms/Scalar/DCE.cpp
b/llvm/lib/Transforms/Scalar/DCE.cpp
index
086f0a1
..
8d53443
100644
(file)
--- a/
llvm/lib/Transforms/Scalar/DCE.cpp
+++ b/
llvm/lib/Transforms/Scalar/DCE.cpp
@@
-118,13
+118,7
@@
bool DCE::runOnFunction(Function &F) {
I->eraseFromParent();
// Remove the instruction from the worklist if it still exists in it.
- for (std::vector<Instruction*>::iterator WI = WorkList.begin();
- WI != WorkList.end(); ) {
- if (*WI == I)
- WI = WorkList.erase(WI);
- else
- ++WI;
- }
+ WorkList.erase(std::remove(WorkList.begin(), WorkList.end(), I), WorkList.end());
MadeChange = true;
++DCEEliminated;