reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

include/llvm/ADT/BitVector.h
   95       WordRef = &b.Bits[Idx / BITWORD_SIZE];
  140     Bits = allocate(Capacity);
  141     init_words(Bits, t);
  149       Bits = MutableArrayRef<BitWord>();
  154     Bits = allocate(Capacity);
  155     std::memcpy(Bits.data(), RHS.Bits.data(), Capacity * sizeof(BitWord));
  155     std::memcpy(Bits.data(), RHS.Bits.data(), Capacity * sizeof(BitWord));
  158   BitVector(BitVector &&RHS) : Bits(RHS.Bits), Size(RHS.Size) {
  159     RHS.Bits = MutableArrayRef<BitWord>();
  163   ~BitVector() { std::free(Bits.data()); }
  175       NumBits += countPopulation(Bits[i]);
  182       if (Bits[i] != 0)
  190       if (Bits[i] != ~0UL)
  195       return Bits[Size / BITWORD_SIZE] == (1UL << Remainder) - 1;
  217       BitWord Copy = Bits[i];
  247       BitWord Copy = Bits[CurrentWord];
  277       BitWord Copy = Bits[i];
  309       BitWord Copy = Bits[CurrentWord];
  373       unsigned OldCapacity = Bits.size();
  375       init_words(Bits.drop_front(OldCapacity), t);
  398     init_words(Bits, true);
  404     assert(Bits.data() && "Bits never allocated");
  405     Bits[Idx / BITWORD_SIZE] |= BitWord(1) << (Idx % BITWORD_SIZE);
  420       Bits[I / BITWORD_SIZE] |= Mask;
  425     Bits[I / BITWORD_SIZE] |= PrefixMask;
  429       Bits[I / BITWORD_SIZE] = ~0UL;
  433       Bits[I / BITWORD_SIZE] |= PostfixMask;
  439     init_words(Bits, false);
  444     Bits[Idx / BITWORD_SIZE] &= ~(BitWord(1) << (Idx % BITWORD_SIZE));
  459       Bits[I / BITWORD_SIZE] &= ~Mask;
  464     Bits[I / BITWORD_SIZE] &= ~PrefixMask;
  468       Bits[I / BITWORD_SIZE] = 0UL;
  472       Bits[I / BITWORD_SIZE] &= ~PostfixMask;
  479       Bits[i] = ~Bits[i];
  479       Bits[i] = ~Bits[i];
  485     Bits[Idx / BITWORD_SIZE] ^= BitWord(1) << (Idx % BITWORD_SIZE);
  498     return (Bits[Idx / BITWORD_SIZE] & Mask) != 0;
  527       if (Bits[i] & RHS.Bits[i])
  527       if (Bits[i] & RHS.Bits[i])
  538       if (Bits[i] != RHS.Bits[i])
  538       if (Bits[i] != RHS.Bits[i])
  544         if (Bits[i])
  548         if (RHS.Bits[i])
  564       Bits[i] &= RHS.Bits[i];
  564       Bits[i] &= RHS.Bits[i];
  570       Bits[i] = 0;
  581       Bits[i] &= ~RHS.Bits[i];
  581       Bits[i] &= ~RHS.Bits[i];
  592       if ((Bits[i] & ~RHS.Bits[i]) != 0)
  592       if ((Bits[i] & ~RHS.Bits[i]) != 0)
  596       if (Bits[i] != 0)
  606       Bits[i] |= RHS.Bits[i];
  606       Bits[i] |= RHS.Bits[i];
  614       Bits[i] ^= RHS.Bits[i];
  614       Bits[i] ^= RHS.Bits[i];
  658       Bits[I] >>= BitDistance;
  659       Bits[I] |= (Bits[I + 1] & Mask) << LSH;
  659       Bits[I] |= (Bits[I + 1] & Mask) << LSH;
  662     Bits[NumWords - 1] >>= BitDistance;
  708       Bits[I] <<= BitDistance;
  709       Bits[I] |= (Bits[I - 1] & Mask) >> RSH;
  709       Bits[I] |= (Bits[I - 1] & Mask) >> RSH;
  711     Bits[0] <<= BitDistance;
  725         std::memcpy(Bits.data(), RHS.Bits.data(), RHSWords * sizeof(BitWord));
  725         std::memcpy(Bits.data(), RHS.Bits.data(), RHSWords * sizeof(BitWord));
  734     std::memcpy(NewBits.data(), RHS.Bits.data(), NewCapacity * sizeof(BitWord));
  737     std::free(Bits.data());
  738     Bits = NewBits;
  746     std::free(Bits.data());
  747     Bits = RHS.Bits;
  747     Bits = RHS.Bits;
  750     RHS.Bits = MutableArrayRef<BitWord>();
  757     std::swap(Bits, RHS.Bits);
  757     std::swap(Bits, RHS.Bits);
  818     auto Src = Bits.take_front(NumWords).drop_back(Count);
  819     auto Dest = Bits.take_front(NumWords).drop_front(Count);
  825     std::memset(Bits.data(), 0, Count * sizeof(BitWord));
  838     auto Src = Bits.take_front(NumWords).drop_front(Count);
  839     auto Dest = Bits.take_front(NumWords).drop_back(Count);
  865     if (Bits.size() > UsedWords)
  866       init_words(Bits.drop_front(UsedWords), t);
  873         Bits[UsedWords-1] |= ExtraBitMask;
  875         Bits[UsedWords-1] &= ~ExtraBitMask;
  885     size_t NewCapacity = std::max<size_t>(NumBitWords(NewSize), Bits.size() * 2);
  888         safe_realloc(Bits.data(), NewCapacity * sizeof(BitWord)));
  889     Bits = MutableArrayRef<BitWord>(NewBits, NewCapacity);
  905       BitWord BW = Bits[i];
  913       Bits[i] = BW;
  918       if (AddBits) Bits[i] |=   BitWord(M) << b;
  919       else         Bits[i] &= ~(BitWord(M) << b);
  927   size_t getMemorySize() const { return Bits.size() * sizeof(BitWord); }
  928   size_t getBitCapacity() const { return Bits.size() * BITWORD_SIZE; }