LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | List of all members
llvm::SmallBitVector Class Reference

#include <SmallBitVector.h>

Classes

class  reference
 

Public Member Functions

 SmallBitVector ()
 SmallBitVector default ctor - Creates an empty bitvector. More...
 
 SmallBitVector (unsigned s, bool t=false)
 
 SmallBitVector (const SmallBitVector &RHS)
 SmallBitVector copy ctor. More...
 
 ~SmallBitVector ()
 
bool empty () const
 empty - Tests whether there are no bits in this bitvector. More...
 
size_t size () const
 size - Returns the number of bits in this bitvector. More...
 
unsigned count () const
 count - Returns the number of bits which are set. More...
 
bool any () const
 any - Returns true if any bit is set. More...
 
bool all () const
 all - Returns true if all bits are set. More...
 
bool none () const
 none - Returns true if none of the bits are set. More...
 
int find_first () const
 
int find_next (unsigned Prev) const
 
void clear ()
 clear - Clear all bits. More...
 
void resize (unsigned N, bool t=false)
 resize - Grow or shrink the bitvector. More...
 
void reserve (unsigned N)
 
SmallBitVectorset ()
 
SmallBitVectorset (unsigned Idx)
 
SmallBitVectorset (unsigned I, unsigned E)
 set - Efficiently set a range of bits in [I, E) More...
 
SmallBitVectorreset ()
 
SmallBitVectorreset (unsigned Idx)
 
SmallBitVectorreset (unsigned I, unsigned E)
 reset - Efficiently reset a range of bits in [I, E) More...
 
SmallBitVectorflip ()
 
SmallBitVectorflip (unsigned Idx)
 
SmallBitVector operator~ () const
 
reference operator[] (unsigned Idx)
 
bool operator[] (unsigned Idx) const
 
bool test (unsigned Idx) const
 
bool anyCommon (const SmallBitVector &RHS) const
 Test if any common bits are set. More...
 
bool operator== (const SmallBitVector &RHS) const
 
bool operator!= (const SmallBitVector &RHS) const
 
SmallBitVectoroperator&= (const SmallBitVector &RHS)
 
SmallBitVectorreset (const SmallBitVector &RHS)
 reset - Reset bits that are set in RHS. Same as *this &= ~RHS. More...
 
bool test (const SmallBitVector &RHS) const
 
SmallBitVectoroperator|= (const SmallBitVector &RHS)
 
SmallBitVectoroperator^= (const SmallBitVector &RHS)
 
const SmallBitVectoroperator= (const SmallBitVector &RHS)
 
void swap (SmallBitVector &RHS)
 
void setBitsInMask (const uint32_t *Mask, unsigned MaskWords=~0u)
 
void clearBitsInMask (const uint32_t *Mask, unsigned MaskWords=~0u)
 
void setBitsNotInMask (const uint32_t *Mask, unsigned MaskWords=~0u)
 
void clearBitsNotInMask (const uint32_t *Mask, unsigned MaskWords=~0u)
 

Detailed Description

SmallBitVector - This is a 'bitvector' (really, a variable-sized bit array), optimized for the case when the array is small. It contains one pointer-sized field, which is directly used as a plain collection of bits when possible, or as a pointer to a larger heap-allocated array when necessary. This allows normal "small" cases to be fast without losing generality for large inputs.

Definition at line 31 of file SmallBitVector.h.

Constructor & Destructor Documentation

llvm::SmallBitVector::SmallBitVector ( )
inline

SmallBitVector default ctor - Creates an empty bitvector.

Definition at line 137 of file SmallBitVector.h.

Referenced by operator~().

llvm::SmallBitVector::SmallBitVector ( unsigned  s,
bool  t = false 
)
inlineexplicit

SmallBitVector ctor - Creates a bitvector of specified number of bits. All bits are initialized to the specified value.

Definition at line 141 of file SmallBitVector.h.

llvm::SmallBitVector::SmallBitVector ( const SmallBitVector RHS)
inline

SmallBitVector copy ctor.

Definition at line 149 of file SmallBitVector.h.

llvm::SmallBitVector::~SmallBitVector ( )
inline

Definition at line 162 of file SmallBitVector.h.

Member Function Documentation

bool llvm::SmallBitVector::all ( ) const
inline

all - Returns true if all bits are set.

Definition at line 198 of file SmallBitVector.h.

References llvm::BitVector::all().

bool llvm::SmallBitVector::any ( ) const
inline

any - Returns true if any bit is set.

Definition at line 191 of file SmallBitVector.h.

References llvm::BitVector::any().

Referenced by llvm::DependenceAnalysis::depends(), and llvm::DependenceAnalysis::getSplitIteration().

bool llvm::SmallBitVector::anyCommon ( const SmallBitVector RHS) const
inline

Test if any common bits are set.

Definition at line 388 of file SmallBitVector.h.

References llvm::BitVector::anyCommon(), size(), and test().

void llvm::SmallBitVector::clear ( )
inline

clear - Clear all bits.

Definition at line 246 of file SmallBitVector.h.

void llvm::SmallBitVector::clearBitsInMask ( const uint32_t *  Mask,
unsigned  MaskWords = ~0u 
)
inline

clearBitsInMask - Clear any bits in this vector that are set in Mask. Don't resize. This computes "*this &= ~Mask".

Definition at line 534 of file SmallBitVector.h.

References llvm::BitVector::clearBitsInMask().

void llvm::SmallBitVector::clearBitsNotInMask ( const uint32_t *  Mask,
unsigned  MaskWords = ~0u 
)
inline

clearBitsNotInMask - Clear a bit in this vector for every '0' bit in Mask. Don't resize. This computes "*this &= Mask".

Definition at line 552 of file SmallBitVector.h.

References llvm::BitVector::clearBitsNotInMask().

unsigned llvm::SmallBitVector::count ( ) const
inline
bool llvm::SmallBitVector::empty ( ) const
inline

empty - Tests whether there are no bits in this bitvector.

Definition at line 168 of file SmallBitVector.h.

References llvm::BitVector::empty().

int llvm::SmallBitVector::find_first ( ) const
inline

find_first - Returns the index of the first set bit, -1 if none of the bits are set.

Definition at line 213 of file SmallBitVector.h.

References llvm::tgtok::Bits, llvm::countTrailingZeros(), llvm::BitVector::find_first(), and llvm_unreachable.

Referenced by llvm::DependenceAnalysis::depends(), dumpSmallBitVector(), and llvm::DependenceAnalysis::getSplitIteration().

int llvm::SmallBitVector::find_next ( unsigned  Prev) const
inline

find_next - Returns the index of the next set bit following the "Prev" bit. Returns -1 if the next set bit is not found.

Definition at line 229 of file SmallBitVector.h.

References llvm::tgtok::Bits, llvm::countTrailingZeros(), llvm::BitVector::find_next(), and llvm_unreachable.

Referenced by llvm::DependenceAnalysis::depends(), dumpSmallBitVector(), and llvm::DependenceAnalysis::getSplitIteration().

SmallBitVector& llvm::SmallBitVector::flip ( )
inline

Definition at line 349 of file SmallBitVector.h.

References llvm::BitVector::flip().

SmallBitVector& llvm::SmallBitVector::flip ( unsigned  Idx)
inline

Definition at line 357 of file SmallBitVector.h.

References llvm::BitVector::flip().

bool llvm::SmallBitVector::none ( ) const
inline

none - Returns true if none of the bits are set.

Definition at line 205 of file SmallBitVector.h.

References llvm::BitVector::none().

bool llvm::SmallBitVector::operator!= ( const SmallBitVector RHS) const
inline

Definition at line 410 of file SmallBitVector.h.

SmallBitVector& llvm::SmallBitVector::operator&= ( const SmallBitVector RHS)
inline

Definition at line 415 of file SmallBitVector.h.

References resize(), and size().

const SmallBitVector& llvm::SmallBitVector::operator= ( const SmallBitVector RHS)
inline

Definition at line 492 of file SmallBitVector.h.

bool llvm::SmallBitVector::operator== ( const SmallBitVector RHS) const
inline

Definition at line 401 of file SmallBitVector.h.

References size().

reference llvm::SmallBitVector::operator[] ( unsigned  Idx)
inline

Definition at line 371 of file SmallBitVector.h.

References size().

bool llvm::SmallBitVector::operator[] ( unsigned  Idx) const
inline

Definition at line 376 of file SmallBitVector.h.

References size().

SmallBitVector& llvm::SmallBitVector::operator^= ( const SmallBitVector RHS)
inline

Definition at line 477 of file SmallBitVector.h.

References resize(), and size().

SmallBitVector& llvm::SmallBitVector::operator|= ( const SmallBitVector RHS)
inline

Definition at line 463 of file SmallBitVector.h.

References resize(), and size().

SmallBitVector llvm::SmallBitVector::operator~ ( ) const
inline

Definition at line 366 of file SmallBitVector.h.

References SmallBitVector().

void llvm::SmallBitVector::reserve ( unsigned  N)
inline

Definition at line 269 of file SmallBitVector.h.

References llvm::BitVector::reserve(), and llvm::BitVector::set().

SmallBitVector& llvm::SmallBitVector::reset ( )
inline
SmallBitVector& llvm::SmallBitVector::reset ( unsigned  Idx)
inline

Definition at line 326 of file SmallBitVector.h.

References llvm::BitVector::reset().

SmallBitVector& llvm::SmallBitVector::reset ( unsigned  I,
unsigned  E 
)
inline

reset - Efficiently reset a range of bits in [I, E)

Definition at line 335 of file SmallBitVector.h.

References I, llvm::BitVector::reset(), and size().

SmallBitVector& llvm::SmallBitVector::reset ( const SmallBitVector RHS)
inline

reset - Reset bits that are set in RHS. Same as *this &= ~RHS.

Definition at line 430 of file SmallBitVector.h.

References llvm::BitVector::reset(), reset(), size(), and test().

void llvm::SmallBitVector::resize ( unsigned  N,
bool  t = false 
)
inline

resize - Grow or shrink the bitvector.

Definition at line 253 of file SmallBitVector.h.

References llvm::BitVector::resize().

Referenced by operator&=(), operator^=(), and operator|=().

SmallBitVector& llvm::SmallBitVector::set ( )
inline
SmallBitVector& llvm::SmallBitVector::set ( unsigned  Idx)
inline

Definition at line 295 of file SmallBitVector.h.

References llvm::BitVector::set().

SmallBitVector& llvm::SmallBitVector::set ( unsigned  I,
unsigned  E 
)
inline

set - Efficiently set a range of bits in [I, E)

Definition at line 304 of file SmallBitVector.h.

References I, llvm::BitVector::set(), and size().

void llvm::SmallBitVector::setBitsInMask ( const uint32_t *  Mask,
unsigned  MaskWords = ~0u 
)
inline

setBitsInMask - Add '1' bits from Mask to this vector. Don't resize. This computes "*this |= Mask".

Definition at line 525 of file SmallBitVector.h.

References llvm::BitVector::setBitsInMask().

void llvm::SmallBitVector::setBitsNotInMask ( const uint32_t *  Mask,
unsigned  MaskWords = ~0u 
)
inline

setBitsNotInMask - Add a bit to this vector for every '0' bit in Mask. Don't resize. This computes "*this |= ~Mask".

Definition at line 543 of file SmallBitVector.h.

References llvm::BitVector::setBitsNotInMask().

size_t llvm::SmallBitVector::size ( ) const
inline

size - Returns the number of bits in this bitvector.

Definition at line 173 of file SmallBitVector.h.

References llvm::BitVector::size().

Referenced by anyCommon(), operator&=(), operator==(), operator[](), operator^=(), operator|=(), reset(), set(), and test().

void llvm::SmallBitVector::swap ( SmallBitVector RHS)
inline

Definition at line 519 of file SmallBitVector.h.

References std::swap().

Referenced by std::swap().

bool llvm::SmallBitVector::test ( unsigned  Idx) const
inline

Definition at line 383 of file SmallBitVector.h.

Referenced by anyCommon(), reset(), and test().

bool llvm::SmallBitVector::test ( const SmallBitVector RHS) const
inline

test - Check if (This - RHS) is zero. This is the same as reset(RHS) and any().

Definition at line 445 of file SmallBitVector.h.

References size(), llvm::BitVector::test(), and test().


The documentation for this class was generated from the following file: