[llvm-commits] [llvm] r125211 - /llvm/trunk/include/llvm/ADT/PostOrderIterator.h
Dan Gohman
gohman at apple.com
Wed Feb 9 11:25:31 PST 2011
Author: djg
Date: Wed Feb 9 13:25:31 2011
New Revision: 125211
URL: http://llvm.org/viewvc/llvm-project?rev=125211&view=rev
Log:
Optimize po_iterator: don't do redundant lookups.
Modified:
llvm/trunk/include/llvm/ADT/PostOrderIterator.h
Modified: llvm/trunk/include/llvm/ADT/PostOrderIterator.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/PostOrderIterator.h?rev=125211&r1=125210&r2=125211&view=diff
==============================================================================
--- llvm/trunk/include/llvm/ADT/PostOrderIterator.h (original)
+++ llvm/trunk/include/llvm/ADT/PostOrderIterator.h Wed Feb 9 13:25:31 2011
@@ -56,8 +56,7 @@
void traverseChild() {
while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
NodeType *BB = *VisitStack.back().second++;
- if (!this->Visited.count(BB)) { // If the block is not visited...
- this->Visited.insert(BB);
+ if (this->Visited.insert(BB)) { // If the block is not visited...
VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
}
}
@@ -72,8 +71,7 @@
inline po_iterator(NodeType *BB, SetType &S) :
po_iterator_storage<SetType, ExtStorage>(S) {
- if(!S.count(BB)) {
- this->Visited.insert(BB);
+ if (this->Visited.insert(BB)) {
VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
traverseChild();
}
More information about the llvm-commits
mailing list