[llvm-commits] [llvm] r42717 - /llvm/trunk/include/llvm/ADT/SparseBitVector.h
Daniel Berlin
dberlin at dberlin.org
Sat Oct 6 21:47:58 PDT 2007
Author: dannyb
Date: Sat Oct 6 23:47:57 2007
New Revision: 42717
URL: http://llvm.org/viewvc/llvm-project?rev=42717&view=rev
Log:
Some more problems noticed by Curtis
Modified:
llvm/trunk/include/llvm/ADT/SparseBitVector.h
Modified: llvm/trunk/include/llvm/ADT/SparseBitVector.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/SparseBitVector.h?rev=42717&r1=42716&r2=42717&view=diff
==============================================================================
--- llvm/trunk/include/llvm/ADT/SparseBitVector.h (original)
+++ llvm/trunk/include/llvm/ADT/SparseBitVector.h Sat Oct 6 23:47:57 2007
@@ -648,8 +648,8 @@
ElementListIter Iter1 = Elements.begin();
ElementListConstIter Iter2 = RHS.Elements.begin();
- // Check if they are both empty
- if (Elements.empty() && RHS.Elements.empty())
+ // If either our bitmap or RHS is empty, we are done
+ if (Elements.empty() || RHS.Elements.empty())
return false;
// Loop through, intersecting as we go, erasing elements when necessary.
@@ -692,8 +692,9 @@
ElementListConstIter Iter1 = RHS1.Elements.begin();
ElementListConstIter Iter2 = RHS2.Elements.begin();
- // Check if they are both empty.
- if (RHS1.empty() && RHS2.empty())
+ // If RHS1 is empty, we are done
+ // If RHS2 is empty, we still have to copy RHS1
+ if (RHS1.Elements.empty())
return;
// Loop through, intersecting as we go, erasing elements when necessary.
@@ -716,6 +717,9 @@
++Iter1;
++Iter2;
} else {
+ SparseBitVectorElement<ElementSize> *NewElement =
+ new SparseBitVectorElement<ElementSize>(*Iter1);
+ Elements.push_back(NewElement);
++Iter1;
}
}
More information about the llvm-commits
mailing list