[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