Lines Matching defs:Mask
173 // Mask off previous bits.
240 BitWord Mask = EMask - IMask;
241 Bits[I / BITWORD_SIZE] |= Mask;
279 BitWord Mask = EMask - IMask;
280 Bits[I / BITWORD_SIZE] &= ~Mask;
318 BitWord Mask = BitWord(1) << (Idx % BITWORD_SIZE);
319 return (Bits[Idx / BITWORD_SIZE] & Mask) != 0;
468 // Portable bit mask operations.
476 // bit mask is always a whole multiple of 32 bits. If no bit mask size is
477 // given, the bit mask is assumed to cover the entire BitVector.
479 /// setBitsInMask - Add '1' bits from Mask to this vector. Don't resize.
480 /// This computes "*this |= Mask".
481 void setBitsInMask(const uint32_t *Mask, unsigned MaskWords = ~0u) {
482 applyMask<true, false>(Mask, MaskWords);
485 /// clearBitsInMask - Clear any bits in this vector that are set in Mask.
486 /// Don't resize. This computes "*this &= ~Mask".
487 void clearBitsInMask(const uint32_t *Mask, unsigned MaskWords = ~0u) {
488 applyMask<false, false>(Mask, MaskWords);
491 /// setBitsNotInMask - Add a bit to this vector for every '0' bit in Mask.
492 /// Don't resize. This computes "*this |= ~Mask".
493 void setBitsNotInMask(const uint32_t *Mask, unsigned MaskWords = ~0u) {
494 applyMask<true, true>(Mask, MaskWords);
497 /// clearBitsNotInMask - Clear a bit in this vector for every '0' bit in Mask.
498 /// Don't resize. This computes "*this &= Mask".
499 void clearBitsNotInMask(const uint32_t *Mask, unsigned MaskWords = ~0u) {
500 applyMask<false, true>(Mask, MaskWords);
544 void applyMask(const uint32_t *Mask, unsigned MaskWords) {
553 uint32_t M = *Mask++;
561 uint32_t M = *Mask++;