aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/ADT/BitVector.h8
1 files changed, 3 insertions, 5 deletions
diff --git a/include/llvm/ADT/BitVector.h b/include/llvm/ADT/BitVector.h
index 79c3f58567..269621313f 100644
--- a/include/llvm/ADT/BitVector.h
+++ b/include/llvm/ADT/BitVector.h
@@ -290,12 +290,10 @@ private:
// Clear the unused top bits in the high word.
void clear_unused_bits() {
- if (Size) {
- unsigned ExtraBits = Size % BITS_PER_WORD;
+ unsigned ExtraBits = Size % BITS_PER_WORD;
+ if (ExtraBits) {
unsigned index = Size / BITS_PER_WORD;
- if (Size % BITS_PER_WORD == 0)
- index--;
- Bits[index] &= ~(~0 << ExtraBits);
+ Bits[index] &= ~(~0L << ExtraBits);
}
}