Fix intersectWithComplement bug noticed by Curtis Dunham
authorDaniel Berlin <dberlin@dberlin.org>
Fri, 5 Oct 2007 05:10:53 +0000 (05:10 +0000)
committerDaniel Berlin <dberlin@dberlin.org>
Fri, 5 Oct 2007 05:10:53 +0000 (05:10 +0000)
Optimize |= case for empty RHS

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42629 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ADT/SparseBitVector.h

index 1d96546954a6d92bf09975e9d0ef81f1833f9249..86fb2b4eb44266a6e555c02483b1f15d189a39f5 100644 (file)
@@ -580,8 +580,8 @@ public:
     ElementListIter Iter1 = Elements.begin();
     ElementListConstIter Iter2 = RHS.Elements.begin();
 
-    // Check if both bitmaps are empty
-    if (Elements.empty() && RHS.Elements.empty())
+    // If RHS is empty, we are done
+    if (RHS.Elements.empty())
       return false;
 
     while (Iter2 != RHS.Elements.end()) {
@@ -671,9 +671,7 @@ public:
         }
         ++Iter2;
       } else {
-        ElementListIter IterTmp = Iter1;
         ++Iter1;
-        Elements.erase(IterTmp);
       }
     }
     CurrElementIter = Elements.begin();