LLVM  14.0.0git
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::BitVector Class Reference

#include "llvm/ADT/BitVector.h"

Classes

class  reference
 

Public Types

typedef unsigned size_type
 
typedef const_set_bits_iterator_impl< BitVectorconst_set_bits_iterator
 
typedef const_set_bits_iterator set_iterator
 

Public Member Functions

const_set_bits_iterator set_bits_begin () const
 
const_set_bits_iterator set_bits_end () const
 
iterator_range< const_set_bits_iteratorset_bits () const
 
 BitVector ()
 BitVector default ctor - Creates an empty bitvector. More...
 
 BitVector (unsigned s, bool t=false)
 BitVector ctor - Creates a bitvector of specified number of bits. More...
 
bool empty () const
 empty - Tests whether there are no bits in this bitvector. More...
 
size_type size () const
 size - Returns the number of bits in this bitvector. More...
 
size_type 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_in (unsigned Begin, unsigned End, bool Set=true) const
 find_first_in - Returns the index of the first set / unset bit, depending on Set, in the range [Begin, End). More...
 
int find_last_in (unsigned Begin, unsigned End) const
 find_last_in - Returns the index of the last set bit in the range [Begin, End). More...
 
int find_first_unset_in (unsigned Begin, unsigned End) const
 find_first_unset_in - Returns the index of the first unset bit in the range [Begin, End). More...
 
int find_last_unset_in (unsigned Begin, unsigned End) const
 find_last_unset_in - Returns the index of the last unset bit in the range [Begin, End). More...
 
int find_first () const
 find_first - Returns the index of the first set bit, -1 if none of the bits are set. More...
 
int find_last () const
 find_last - Returns the index of the last set bit, -1 if none of the bits are set. More...
 
int find_next (unsigned Prev) const
 find_next - Returns the index of the next set bit following the "Prev" bit. More...
 
int find_prev (unsigned PriorTo) const
 find_prev - Returns the index of the first set bit that precedes the the bit at PriorTo. More...
 
int find_first_unset () const
 find_first_unset - Returns the index of the first unset bit, -1 if all of the bits are set. More...
 
int find_next_unset (unsigned Prev) const
 find_next_unset - Returns the index of the next unset bit following the "Prev" bit. More...
 
int find_last_unset () const
 find_last_unset - Returns the index of the last unset bit, -1 if all of the bits are set. More...
 
int find_prev_unset (unsigned PriorTo)
 find_prev_unset - Returns the index of the first unset bit that precedes the bit at PriorTo. More...
 
void clear ()
 clear - Removes all bits from the bitvector. More...
 
void resize (unsigned N, bool t=false)
 resize - Grow or shrink the bitvector. More...
 
void reserve (unsigned N)
 
BitVectorset ()
 
BitVectorset (unsigned Idx)
 
BitVectorset (unsigned I, unsigned E)
 set - Efficiently set a range of bits in [I, E) More...
 
BitVectorreset ()
 
BitVectorreset (unsigned Idx)
 
BitVectorreset (unsigned I, unsigned E)
 reset - Efficiently reset a range of bits in [I, E) More...
 
BitVectorflip ()
 
BitVectorflip (unsigned Idx)
 
reference operator[] (unsigned Idx)
 
bool operator[] (unsigned Idx) const
 
bool test (unsigned Idx) const
 
void push_back (bool Val)
 
bool anyCommon (const BitVector &RHS) const
 Test if any common bits are set. More...
 
bool operator== (const BitVector &RHS) const
 
bool operator!= (const BitVector &RHS) const
 
BitVectoroperator&= (const BitVector &RHS)
 Intersection, union, disjoint union. More...
 
BitVectorreset (const BitVector &RHS)
 reset - Reset bits that are set in RHS. Same as *this &= ~RHS. More...
 
bool test (const BitVector &RHS) const
 test - Check if (This - RHS) is zero. More...
 
BitVectoroperator|= (const BitVector &RHS)
 
BitVectoroperator^= (const BitVector &RHS)
 
BitVectoroperator>>= (unsigned N)
 
BitVectoroperator<<= (unsigned N)
 
void swap (BitVector &RHS)
 
void invalid ()
 
bool isInvalid () const
 
ArrayRef< BitWord > getData () const
 
void setBitsInMask (const uint32_t *Mask, unsigned MaskWords=~0u)
 setBitsInMask - Add '1' bits from Mask to this vector. More...
 
void clearBitsInMask (const uint32_t *Mask, unsigned MaskWords=~0u)
 clearBitsInMask - Clear any bits in this vector that are set in Mask. More...
 
void setBitsNotInMask (const uint32_t *Mask, unsigned MaskWords=~0u)
 setBitsNotInMask - Add a bit to this vector for every '0' bit in Mask. More...
 
void clearBitsNotInMask (const uint32_t *Mask, unsigned MaskWords=~0u)
 clearBitsNotInMask - Clear a bit in this vector for every '0' bit in Mask. More...
 
size_t getMemorySize () const
 Return the size (in bytes) of the bit vector. More...
 
size_t getBitCapacity () const
 

Static Public Member Functions

template<class F , class... ArgTys>
static BitVectorapply (F &&f, BitVector &Out, BitVector const &Arg, ArgTys const &...Args)
 

Detailed Description

Definition at line 74 of file BitVector.h.

Member Typedef Documentation

◆ const_set_bits_iterator

Definition at line 123 of file BitVector.h.

◆ set_iterator

Definition at line 124 of file BitVector.h.

◆ size_type

typedef unsigned llvm::BitVector::size_type

Definition at line 88 of file BitVector.h.

Constructor & Destructor Documentation

◆ BitVector() [1/2]

llvm::BitVector::BitVector ( )
inline

BitVector default ctor - Creates an empty bitvector.

Definition at line 137 of file BitVector.h.

◆ BitVector() [2/2]

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

BitVector ctor - Creates a bitvector of specified number of bits.

All bits are initialized to the specified value.

Definition at line 141 of file BitVector.h.

Member Function Documentation

◆ all()

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

all - Returns true if all bits are set.

Definition at line 167 of file BitVector.h.

References i.

Referenced by llvm::SmallBitVector::all().

◆ any()

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

any - Returns true if any bit is set.

Definition at line 162 of file BitVector.h.

References llvm::any_of(), and llvm::tgtok::Bit.

Referenced by llvm::SmallBitVector::any(), llvm::SIFrameLowering::determineCalleeSaves(), llvm::AArch64Subtarget::hasCustomCallingConv(), and none().

◆ anyCommon()

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

Test if any common bits are set.

Definition at line 469 of file BitVector.h.

References llvm::numbers::e, i, and llvm::min().

Referenced by llvm::SmallBitVector::anyCommon(), and llvm::rdf::RegisterAggr::hasAliasOf().

◆ apply()

template<class F , class... ArgTys>
static BitVector& llvm::BitVector::apply ( F &&  f,
BitVector Out,
BitVector const Arg,
ArgTys const &...  Args 
)
inlinestatic

◆ clear()

void llvm::BitVector::clear ( )
inline

◆ clearBitsInMask()

void llvm::BitVector::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 693 of file BitVector.h.

References llvm::BitmaskEnumDetail::Mask().

Referenced by llvm::SmallBitVector::clearBitsInMask(), llvm::SIFrameLowering::determineCalleeSaves(), and llvm::SIFrameLowering::determineCalleeSavesSGPR().

◆ clearBitsNotInMask()

void llvm::BitVector::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 705 of file BitVector.h.

References llvm::BitmaskEnumDetail::Mask().

Referenced by llvm::LiveIntervals::checkRegMaskInterference(), llvm::SmallBitVector::clearBitsNotInMask(), and llvm::SIFrameLowering::determineCalleeSaves().

◆ count()

size_type llvm::BitVector::count ( ) const
inline

◆ empty()

bool llvm::BitVector::empty ( ) const
inline

◆ find_first()

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

◆ find_first_in()

int llvm::BitVector::find_first_in ( unsigned  Begin,
unsigned  End,
bool  Set = true 
) const
inline

find_first_in - Returns the index of the first set / unset bit, depending on Set, in the range [Begin, End).

Returns -1 if all bits in the range are unset / set.

Definition at line 187 of file BitVector.h.

Referenced by find_first(), and find_next().

◆ find_first_unset()

int llvm::BitVector::find_first_unset ( ) const
inline

find_first_unset - Returns the index of the first unset bit, -1 if all of the bits are set.

Definition at line 308 of file BitVector.h.

References find_first_unset_in().

Referenced by llvm::SmallBitVector::find_first_unset().

◆ find_first_unset_in()

int llvm::BitVector::find_first_unset_in ( unsigned  Begin,
unsigned  End 
) const
inline

find_first_unset_in - Returns the index of the first unset bit in the range [Begin, End).

Returns -1 if all bits in the range are set.

Definition at line 253 of file BitVector.h.

Referenced by find_first_unset(), and find_next_unset().

◆ find_last()

int llvm::BitVector::find_last ( ) const
inline

find_last - Returns the index of the last set bit, -1 if none of the bits are set.

Definition at line 296 of file BitVector.h.

References find_last_in().

Referenced by llvm::SmallBitVector::find_last(), llvm::pdb::UDTLayoutBase::initializeChildren(), and llvm::pdb::LayoutItemBase::tailPadding().

◆ find_last_in()

int llvm::BitVector::find_last_in ( unsigned  Begin,
unsigned  End 
) const
inline

find_last_in - Returns the index of the last set bit in the range [Begin, End).

Returns -1 if all bits in the range are unset.

Definition at line 222 of file BitVector.h.

Referenced by find_last(), and find_prev().

◆ find_last_unset()

int llvm::BitVector::find_last_unset ( ) const
inline

find_last_unset - Returns the index of the last unset bit, -1 if all of the bits are set.

Definition at line 318 of file BitVector.h.

References find_last_unset_in().

Referenced by llvm::SmallBitVector::find_last_unset().

◆ find_last_unset_in()

int llvm::BitVector::find_last_unset_in ( unsigned  Begin,
unsigned  End 
) const
inline

find_last_unset_in - Returns the index of the last unset bit in the range [Begin, End).

Returns -1 if all bits in the range are set.

Definition at line 259 of file BitVector.h.

Referenced by find_last_unset(), and find_prev_unset().

◆ find_next()

int llvm::BitVector::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 300 of file BitVector.h.

References find_first_in().

Referenced by llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), dump_registers(), llvm::SmallBitVector::find_next(), llvm::rdf::RegisterAggr::makeRegRef(), needsStackFrame(), llvm::operator<<(), llvm::rdf::RegisterAggr::print(), and scavengeStackSlot().

◆ find_next_unset()

int llvm::BitVector::find_next_unset ( unsigned  Prev) const
inline

find_next_unset - Returns the index of the next unset bit following the "Prev" bit.

Returns -1 if all remaining bits are set.

Definition at line 312 of file BitVector.h.

References find_first_unset_in().

Referenced by llvm::SmallBitVector::find_next_unset().

◆ find_prev()

int llvm::BitVector::find_prev ( unsigned  PriorTo) const
inline

find_prev - Returns the index of the first set bit that precedes the the bit at PriorTo.

Returns -1 if all previous bits are unset.

Definition at line 304 of file BitVector.h.

References find_last_in().

Referenced by llvm::SmallBitVector::find_prev().

◆ find_prev_unset()

int llvm::BitVector::find_prev_unset ( unsigned  PriorTo)
inline

find_prev_unset - Returns the index of the first unset bit that precedes the bit at PriorTo.

Returns -1 if all previous bits are set.

Definition at line 322 of file BitVector.h.

References find_last_unset_in().

◆ flip() [1/2]

BitVector& llvm::BitVector::flip ( )
inline

◆ flip() [2/2]

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

Definition at line 430 of file BitVector.h.

◆ getBitCapacity()

size_t llvm::BitVector::getBitCapacity ( ) const
inline

Definition at line 812 of file BitVector.h.

Referenced by push_back().

◆ getData()

ArrayRef<BitWord> llvm::BitVector::getData ( ) const
inline

◆ getMemorySize()

size_t llvm::BitVector::getMemorySize ( ) const
inline

Return the size (in bytes) of the bit vector.

Definition at line 811 of file BitVector.h.

◆ invalid()

void llvm::BitVector::invalid ( )
inline

Definition at line 665 of file BitVector.h.

References assert().

Referenced by llvm::DenseMapInfo< BitVector >::getTombstoneKey().

◆ isInvalid()

bool llvm::BitVector::isInvalid ( ) const
inline

Definition at line 669 of file BitVector.h.

Referenced by llvm::DenseMapInfo< BitVector >::isEqual().

◆ none()

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

◆ operator!=()

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

Definition at line 486 of file BitVector.h.

◆ operator&=()

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

Intersection, union, disjoint union.

Definition at line 489 of file BitVector.h.

References for, i, and llvm::min().

◆ operator<<=()

BitVector& llvm::BitVector::operator<<= ( unsigned  N)
inline

Definition at line 610 of file BitVector.h.

References assert(), empty(), I, LLVM_UNLIKELY, llvm::BitmaskEnumDetail::Mask(), and N.

◆ operator==()

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

Definition at line 479 of file BitVector.h.

References llvm::lltok::equal, and size().

◆ operator>>=()

BitVector& llvm::BitVector::operator>>= ( unsigned  N)
inline

Definition at line 561 of file BitVector.h.

References assert(), empty(), I, LLVM_UNLIKELY, llvm::BitmaskEnumDetail::Mask(), and N.

◆ operator[]() [1/2]

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

Definition at line 436 of file BitVector.h.

References assert().

◆ operator[]() [2/2]

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

Definition at line 441 of file BitVector.h.

References assert(), and llvm::BitmaskEnumDetail::Mask().

◆ operator^=()

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

Definition at line 553 of file BitVector.h.

References llvm::numbers::e, i, resize(), and size().

◆ operator|=()

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

Definition at line 545 of file BitVector.h.

References llvm::numbers::e, i, resize(), and size().

◆ push_back()

void llvm::BitVector::push_back ( bool  Val)
inline

◆ reserve()

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

Definition at line 340 of file BitVector.h.

References N.

Referenced by llvm::SmallBitVector::reserve().

◆ reset() [1/4]

BitVector& llvm::BitVector::reset ( )
inline

Definition at line 384 of file BitVector.h.

Referenced by llvm::ScheduleDAGTopologicalSort::AddPred(), llvm::msf::MSFBuilder::addStream(), llvm::PPCFrameLowering::assignCalleeSavedSpillSlots(), llvm::LiveRegUnits::clear(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::clear(), llvm::rdf::RegisterAggr::clear(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::clear(), computeFreeStackSlots(), llvm::BPFFrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSaves(), llvm::LanaiFrameLowering::determineCalleeSaves(), llvm::XCoreFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSavesSGPR(), determineFPRegsToClear(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::erase(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::erase(), llvm::GCNScheduleDAGMILive::finalizeSchedule(), llvm::SpillPlacement::finish(), llvm::CriticalAntiDepBreaker::FinishBlock(), llvm::TargetRegisterInfo::getAllocatableSet(), llvm::MachineFrameInfo::getPristineRegs(), llvm::ScheduleDAGTopologicalSort::GetSubGraph(), llvm::LiveRegUnits::init(), llvm::ScheduleDAGTopologicalSort::IsReachable(), llvm::Mips16InstrInfo::loadImmediate(), llvm::LiveRegUnits::removeReg(), llvm::LiveRegUnits::removeRegsNotPreserved(), llvm::LiveRegUnits::removeUnits(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::reset(), llvm::MachineFunctionProperties::reset(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::reset(), llvm::SmallBitVector::reset(), llvm::rdf::Liveness::resetKills(), llvm::RegScavenger::scavengeRegister(), scavengeStackSlot(), llvm::CriticalAntiDepBreaker::StartBlock(), llvm::pdb::UDTLayoutBase::UDTLayoutBase(), and llvm::WebAssemblyFunctionInfo::unstackifyVReg().

◆ reset() [2/4]

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

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

Definition at line 506 of file BitVector.h.

References i, and llvm::min().

◆ reset() [3/4]

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

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

Definition at line 395 of file BitVector.h.

References llvm::alignTo(), assert(), E, I, llvm::BitmaskEnumDetail::Mask(), and size().

◆ reset() [4/4]

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

Definition at line 389 of file BitVector.h.

◆ resize()

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

resize - Grow or shrink the bitvector.

Definition at line 333 of file BitVector.h.

References N.

Referenced by llvm::pdb::UDTLayoutBase::addChildToLayout(), llvm::msf::MSFBuilder::addStream(), llvm::ScheduleDAGTopologicalSort::AddSUnitWithoutPredecessors(), llvm::SIMachineFunctionInfo::allocateVGPRSpillToAGPR(), llvm::AIXCCState::AnalyzeCallOperands(), llvm::AIXCCState::AnalyzeFormalArguments(), apply(), llvm::pdb::BaseClassLayout::BaseClassLayout(), llvm::LiveIntervals::checkRegMaskInterference(), llvm::pdb::ClassLayout::ClassLayout(), llvm::ScheduleDAGMILive::computeDFSResult(), computeFreeStackSlots(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::TargetFrameLowering::determineCalleeSaves(), llvm::GCNScheduleDAGMILive::finalizeSchedule(), llvm::TargetFrameLowering::getCalleeSaves(), llvm::BuildVectorSDNode::getRepeatedSequence(), llvm::BuildVectorSDNode::getSplatValue(), llvm::ScheduleDAGTopologicalSort::GetSubGraph(), llvm::LiveRegUnits::init(), llvm::ScheduleDAGTopologicalSort::InitDAGTopologicalSorting(), llvm::pdb::LayoutItemBase::LayoutItemBase(), llvm::MachineRegisterInfo::MachineRegisterInfo(), operator^=(), operator|=(), llvm::pdb::PDBFile::parseFileHeaders(), llvm::SpillPlacement::prepare(), push_back(), llvm::RegisterBank::RegisterBank(), llvm::CodeGenCoverage::reset(), llvm::LiveRangeCalc::resetLiveOutMap(), llvm::SmallBitVector::resize(), llvm::msf::MSFBuilder::setBlockMapAddr(), llvm::CodeGenCoverage::setCovered(), llvm::SIRegisterInfo::SIRegisterInfo(), llvm::WebAssemblyFunctionInfo::stackifyVReg(), and llvm::pdb::UDTLayoutBase::UDTLayoutBase().

◆ set() [1/3]

BitVector& llvm::BitVector::set ( )
inline

Definition at line 343 of file BitVector.h.

Referenced by llvm::AArch64Subtarget::AArch64Subtarget(), llvm::LiveRegUnits::addReg(), llvm::LiveRegUnits::addRegMasked(), llvm::LiveRegUnits::addRegsInMask(), addRegUnits(), llvm::omp::VariantMatchInfo::addTrait(), llvm::omp::OMPContext::addTrait(), llvm::SIMachineFunctionInfo::allocateVGPRSpillToAGPR(), llvm::PPCFrameLowering::assignCalleeSavedSpillSlots(), assignCalleeSavedSpillSlots(), llvm::pdb::BaseClassLayout::BaseClassLayout(), llvm::SwitchCG::SwitchLowering::buildBitTests(), llvm::TargetRegisterInfo::checkAllSuperRegsMarked(), checkNumAlignedDPRCS2Regs(), llvm::SystemZFrameLowering::determineCalleeSaves(), llvm::AVRFrameLowering::determineCalleeSaves(), llvm::RISCVFrameLowering::determineCalleeSaves(), llvm::ARCFrameLowering::determineCalleeSaves(), llvm::Mips16FrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::X86FrameLowering::determineCalleeSaves(), llvm::M68kFrameLowering::determineCalleeSaves(), llvm::TargetFrameLowering::determineCalleeSaves(), llvm::TargetLibraryInfo::disableAllFunctions(), llvm::GCNScheduleDAGMILive::finalizeSchedule(), llvm::SwitchCG::SwitchLowering::findBitTestClusters(), llvm::ARMFrameLowering::getCalleeSaves(), llvm::TargetFrameLowering::getCalleeSaves(), getInputSegmentList(), llvm::SystemZTTIImpl::getInterleavedMemoryOpCost(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getInterleavedMemoryOpCost(), llvm::MachineFrameInfo::getPristineRegs(), llvm::ScheduleDAGTopologicalSort::GetSubGraph(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::insert(), llvm::rdf::RegisterAggr::insert(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::insert(), llvm::LiveRangeCalc::isJointlyDominated(), llvm::DWARFLinker::link(), llvm::omp::OMPContext::OMPContext(), llvm::BranchFolder::OptimizeFunction(), llvm::optimizeGlobalCtorsList(), llvm::rdf::PhysicalRegisterInfo::PhysicalRegisterInfo(), llvm::SIFrameLowering::processFunctionBeforeFrameFinalized(), processPSInputArgs(), push_back(), llvm::SmallBitVector::reserve(), llvm::rdf::Liveness::resetKills(), llvm::PPCFrameLowering::restoreCalleeSavedRegisters(), llvm::ScheduleDAGMILive::schedule(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::set(), llvm::MachineFunctionProperties::set(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::set(), llvm::SmallBitVector::set(), setAliasRegs(), llvm::LiveRangeCalc::setLiveOutValue(), llvm::TargetLibraryInfo::setUnavailable(), llvm::SystemZRegisterInfo::shouldCoalesce(), llvm::SIRegisterInfo::SIRegisterInfo(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), and llvm::WebAssemblyFunctionInfo::stackifyVReg().

◆ set() [2/3]

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

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

Definition at line 356 of file BitVector.h.

References llvm::alignTo(), assert(), E, I, llvm::BitmaskEnumDetail::Mask(), and size().

◆ set() [3/3]

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

Definition at line 349 of file BitVector.h.

References assert().

◆ set_bits()

iterator_range<const_set_bits_iterator> llvm::BitVector::set_bits ( ) const
inline

◆ set_bits_begin()

const_set_bits_iterator llvm::BitVector::set_bits_begin ( ) const
inline

◆ set_bits_end()

const_set_bits_iterator llvm::BitVector::set_bits_end ( ) const
inline

◆ setBitsInMask()

void llvm::BitVector::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 687 of file BitVector.h.

References llvm::BitmaskEnumDetail::Mask().

Referenced by llvm::SIMachineFunctionInfo::allocateVGPRSpillToAGPR(), llvm::TargetLoweringBase::findRepresentativeClass(), llvm::RegisterBank::RegisterBank(), and llvm::SmallBitVector::setBitsInMask().

◆ setBitsNotInMask()

void llvm::BitVector::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 699 of file BitVector.h.

References llvm::BitmaskEnumDetail::Mask().

Referenced by llvm::SmallBitVector::setBitsNotInMask().

◆ size()

size_type llvm::BitVector::size ( ) const
inline

◆ swap()

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

Definition at line 660 of file BitVector.h.

References std::swap().

Referenced by std::swap().

◆ test() [1/2]

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

test - Check if (This - RHS) is zero.

This is the same as reset(RHS) and any().

Definition at line 516 of file BitVector.h.

References i, and llvm::min().

◆ test() [2/2]

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

Definition at line 447 of file BitVector.h.

Referenced by addLiveInRegs(), llvm::msf::MSFBuilder::addStream(), assignCalleeSavedSpillSlots(), llvm::LiveRegUnits::available(), checkNumAlignedDPRCS2Regs(), llvm::LiveRegMatrix::checkRegMaskInterference(), commitFpm(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::contains(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::contains(), llvm::RegisterBank::covers(), llvm::SystemZFrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), findTemporariesForLR(), llvm::RISCVTargetLowering::getRegisterByName(), llvm::ScheduleDAGTopologicalSort::GetSubGraph(), llvm::rdf::RegisterAggr::hasAliasOf(), llvm::rdf::RegisterAggr::hasCoverOf(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::insert(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::insert(), llvm::ARMBaseRegisterInfo::isAsmClobberable(), llvm::PPCRegisterInfo::isCallerPreservedPhysReg(), llvm::AIXCCState::isFixed(), llvm::MachineRegisterInfo::isPhysRegModified(), llvm::MachineRegisterInfo::isPhysRegUsed(), llvm::MachineRegisterInfo::isReserved(), isStrictSubset(), llvm::SplitAnalysis::isThroughBlock(), isVariantApplicableInContextHelper(), llvm::WebAssemblyFunctionInfo::isVRegStackified(), llvm::rdf::RegisterAggr::makeRegRef(), llvm::BranchFolder::OptimizeFunction(), removeGlobalCtors(), llvm::StackLifetime::run(), scavengeStackSlot(), llvm::ScheduleDAGMILive::schedule(), llvm::CriticalAntiDepBreaker::StartBlock(), llvm::AggressiveAntiDepBreaker::StartBlock(), llvm::SmallBitVector::test(), and llvm::MachineFunctionProperties::verifyRequiredProperties().


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