LLVM 20.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

using size_type = unsigned
 
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 ()=default
 BitVector default ctor - Creates an empty bitvector.
 
 BitVector (unsigned s, bool t=false)
 BitVector ctor - Creates a bitvector of specified number of bits.
 
bool empty () const
 empty - Tests whether there are no bits in this bitvector.
 
size_type size () const
 size - Returns the number of bits in this bitvector.
 
size_type count () const
 count - Returns the number of bits which are set.
 
bool any () const
 any - Returns true if any bit is set.
 
bool all () const
 all - Returns true if all bits are set.
 
bool none () const
 none - Returns true if none of the bits are set.
 
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).
 
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).
 
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).
 
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).
 
int find_first () const
 find_first - Returns the index of the first set bit, -1 if none of the bits are set.
 
int find_last () const
 find_last - Returns the index of the last set bit, -1 if none of the bits are set.
 
int find_next (unsigned Prev) const
 find_next - Returns the index of the next set bit following the "Prev" bit.
 
int find_prev (unsigned PriorTo) const
 find_prev - Returns the index of the first set bit that precedes the the bit at PriorTo.
 
int find_first_unset () const
 find_first_unset - Returns the index of the first unset bit, -1 if all of the bits are set.
 
int find_next_unset (unsigned Prev) const
 find_next_unset - Returns the index of the next unset bit following the "Prev" bit.
 
int find_last_unset () const
 find_last_unset - Returns the index of the last unset bit, -1 if all of the bits are set.
 
int find_prev_unset (unsigned PriorTo)
 find_prev_unset - Returns the index of the first unset bit that precedes the bit at PriorTo.
 
void clear ()
 clear - Removes all bits from the bitvector.
 
void resize (unsigned N, bool t=false)
 resize - Grow or shrink the bitvector.
 
void reserve (unsigned N)
 
BitVectorset ()
 
BitVectorset (unsigned Idx)
 
BitVectorset (unsigned I, unsigned E)
 set - Efficiently set a range of bits in [I, E)
 
BitVectorreset ()
 
BitVectorreset (unsigned Idx)
 
BitVectorreset (unsigned I, unsigned E)
 reset - Efficiently reset a range of bits in [I, E)
 
BitVectorflip ()
 
BitVectorflip (unsigned Idx)
 
reference operator[] (unsigned Idx)
 
bool operator[] (unsigned Idx) const
 
bool back () const
 Return the last element in the vector.
 
bool test (unsigned Idx) const
 
void push_back (bool Val)
 
void pop_back ()
 Pop one bit from the end of the vector.
 
bool anyCommon (const BitVector &RHS) const
 Test if any common bits are set.
 
bool operator== (const BitVector &RHS) const
 
bool operator!= (const BitVector &RHS) const
 
BitVectoroperator&= (const BitVector &RHS)
 Intersection, union, disjoint union.
 
BitVectorreset (const BitVector &RHS)
 reset - Reset bits that are set in RHS. Same as *this &= ~RHS.
 
bool test (const BitVector &RHS) const
 test - Check if (This - RHS) is zero.
 
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.
 
void clearBitsInMask (const uint32_t *Mask, unsigned MaskWords=~0u)
 clearBitsInMask - Clear any bits in this vector that are set in Mask.
 
void setBitsNotInMask (const uint32_t *Mask, unsigned MaskWords=~0u)
 setBitsNotInMask - Add a bit to this vector for every '0' bit in Mask.
 
void clearBitsNotInMask (const uint32_t *Mask, unsigned MaskWords=~0u)
 clearBitsNotInMask - Clear a bit in this vector for every '0' bit in Mask.
 
size_type getMemorySize () const
 Return the size (in bytes) of the bit vector.
 
size_type 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 82 of file BitVector.h.

Member Typedef Documentation

◆ const_set_bits_iterator

Definition at line 131 of file BitVector.h.

◆ set_iterator

Definition at line 132 of file BitVector.h.

◆ size_type

Definition at line 96 of file BitVector.h.

Constructor & Destructor Documentation

◆ BitVector() [1/2]

llvm::BitVector::BitVector ( )
default

BitVector default ctor - Creates an empty bitvector.

◆ 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 149 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 175 of file BitVector.h.

Referenced by llvm::SmallBitVector::all(), isInterestingPHIIncomingValue(), and matchIndexAsShuffle().

◆ any()

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

◆ anyCommon()

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

Test if any common bits are set.

Definition at line 489 of file BitVector.h.

References RHS.

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

◆ back()

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

Return the last element in the vector.

Definition at line 456 of file BitVector.h.

References assert(), empty(), and size().

◆ 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 713 of file BitVector.h.

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 725 of file BitVector.h.

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 195 of file BitVector.h.

References assert(), llvm::countr_zero(), and End.

Referenced by find_first(), find_first_unset_in(), 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 316 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 261 of file BitVector.h.

References End, and find_first_in().

Referenced by find_first_unset(), find_next_unset(), and removeRedundantDbgLocsUsingBackwardScan().

◆ 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 304 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 230 of file BitVector.h.

References assert(), llvm::countl_zero(), and End.

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 326 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 267 of file BitVector.h.

References assert(), llvm::countl_one(), and End.

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 308 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::rdf::RegisterAggr::ref_iterator::ref_iterator(), 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 320 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 312 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 330 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 438 of file BitVector.h.

References Idx.

◆ getBitCapacity()

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

Definition at line 832 of file BitVector.h.

Referenced by push_back().

◆ getData()

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

◆ getMemorySize()

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

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

Definition at line 831 of file BitVector.h.

◆ invalid()

void llvm::BitVector::invalid ( )
inline

Definition at line 685 of file BitVector.h.

References assert().

◆ isInvalid()

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

Definition at line 689 of file BitVector.h.

◆ none()

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

◆ operator!=()

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

Definition at line 506 of file BitVector.h.

References RHS.

◆ operator&=()

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

Intersection, union, disjoint union.

Definition at line 509 of file BitVector.h.

References for(), and RHS.

◆ operator<<=()

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

Definition at line 630 of file BitVector.h.

References assert(), empty(), I, LLVM_UNLIKELY, and N.

◆ operator==()

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

Definition at line 499 of file BitVector.h.

References RHS, and size().

◆ operator>>=()

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

Definition at line 581 of file BitVector.h.

References assert(), empty(), I, LLVM_UNLIKELY, and N.

◆ operator[]() [1/2]

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

Definition at line 444 of file BitVector.h.

References assert(), and Idx.

◆ operator[]() [2/2]

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

Definition at line 449 of file BitVector.h.

References assert(), and Idx.

◆ operator^=()

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

Definition at line 573 of file BitVector.h.

References E, I, resize(), RHS, and size().

◆ operator|=()

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

Definition at line 565 of file BitVector.h.

References E, I, resize(), RHS, and size().

◆ pop_back()

void llvm::BitVector::pop_back ( )
inline

Pop one bit from the end of the vector.

Definition at line 483 of file BitVector.h.

References assert(), empty(), resize(), and size().

◆ push_back()

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

◆ reserve()

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

Definition at line 348 of file BitVector.h.

References N.

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

◆ reset() [1/4]

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

Definition at line 392 of file BitVector.h.

Referenced by llvm::ScheduleDAGTopologicalSort::AddPred(), llvm::msf::MSFBuilder::addStream(), llvm::PPCFrameLowering::assignCalleeSavedSpillSlots(), llvm::GCNSchedStage::checkScheduling(), llvm::LiveRegUnits::clear(), llvm::rdf::RegisterAggr::clear(), computeFreeStackSlots(), llvm::DeadLaneDetector::computeSubRegisterLaneBitInfo(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::BPFFrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSaves(), llvm::LanaiFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::XCoreFrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSavesSGPR(), determineFPRegsToClear(), 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::BuildVectorSDNode::recastRawBits(), llvm::LiveRegUnits::removeReg(), llvm::LiveRegUnits::removeRegsNotPreserved(), llvm::LiveRegUnits::removeUnits(), llvm::SmallBitVector::reset(), scavengeStackSlot(), llvm::SIMachineFunctionInfo::shiftWwmVGPRsToLowestRange(), 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 526 of file BitVector.h.

References RHS.

◆ 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 403 of file BitVector.h.

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

◆ reset() [4/4]

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

Definition at line 397 of file BitVector.h.

References Idx.

◆ resize()

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

resize - Grow or shrink the bitvector.

Definition at line 341 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::DeadLaneDetector::DeadLaneDetector(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::TargetFrameLowering::determineCalleeSaves(), llvm::GCNScheduleDAGMILive::finalizeSchedule(), llvm::TargetFrameLowering::getCalleeSaves(), llvm::IndexedInstrProfReader::getFunctionBitmap(), 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(), pop_back(), llvm::SpillPlacement::prepare(), push_back(), llvm::BuildVectorSDNode::recastRawBits(), llvm::CodeGenCoverage::reset(), llvm::LiveRangeCalc::resetLiveOutMap(), llvm::SmallBitVector::resize(), llvm::msf::MSFBuilder::setBlockMapAddr(), llvm::CodeGenCoverage::setCovered(), llvm::sandboxir::SeedBundle::setUsed(), llvm::SIRegisterInfo::SIRegisterInfo(), llvm::WebAssemblyFunctionInfo::stackifyVReg(), and llvm::pdb::UDTLayoutBase::UDTLayoutBase().

◆ set() [1/3]

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

Definition at line 351 of file BitVector.h.

Referenced by llvm::AArch64Subtarget::AArch64Subtarget(), llvm::LiveRegUnits::addReg(), llvm::LiveRegUnits::addRegMasked(), llvm::LiveRegUnits::addRegsInMask(), addRegUnits(), llvm::omp::OMPContext::addTrait(), llvm::omp::VariantMatchInfo::addTrait(), llvm::SIMachineFunctionInfo::allocateVGPRSpillToAGPR(), applyBitsNotInRegMaskToRegUnitsMask(), assignCalleeSavedSpillSlots(), llvm::PPCFrameLowering::assignCalleeSavedSpillSlots(), llvm::pdb::BaseClassLayout::BaseClassLayout(), llvm::SwitchCG::SwitchLowering::buildBitTests(), llvm::TargetRegisterInfo::checkAllSuperRegsMarked(), checkNumAlignedDPRCS2Regs(), llvm::pdb::ClassLayout::ClassLayout(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::ARCFrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::CSKYFrameLowering::determineCalleeSaves(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::LoongArchFrameLowering::determineCalleeSaves(), llvm::Mips16FrameLowering::determineCalleeSaves(), llvm::RISCVFrameLowering::determineCalleeSaves(), llvm::SystemZELFFrameLowering::determineCalleeSaves(), llvm::SystemZXPLINKFrameLowering::determineCalleeSaves(), llvm::XtensaFrameLowering::determineCalleeSaves(), llvm::TargetFrameLowering::determineCalleeSaves(), llvm::AVRFrameLowering::determineCalleeSaves(), llvm::M68kFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::X86FrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSavesSGPR(), llvm::GCNScheduleDAGMILive::finalizeSchedule(), llvm::SwitchCG::SwitchLowering::findBitTestClusters(), llvm::TargetFrameLowering::getCalleeSaves(), llvm::ARMFrameLowering::getCalleeSaves(), llvm::BuildVectorSDNode::getConstantRawBits(), getInputSegmentList(), llvm::BasicTTIImplBase< T >::getInterleavedMemoryOpCost(), llvm::SystemZTTIImpl::getInterleavedMemoryOpCost(), llvm::IndexedMemProfReader::getMemProfCallerCalleePairs(), llvm::MachineFrameInfo::getPristineRegs(), llvm::ScheduleDAGTopologicalSort::GetSubGraph(), llvm::rdf::RegisterAggr::insert(), isInterestingPHIIncomingValue(), llvm::LiveRangeCalc::isJointlyDominated(), llvm::dwarf_linker::classic::DWARFLinker::link(), matchIndexAsShuffle(), llvm::omp::OMPContext::OMPContext(), llvm::memprof::CallerCalleePairExtractor::operator()(), llvm::BranchFolder::OptimizeFunction(), llvm::optimizeGlobalCtorsList(), llvm::rdf::PhysicalRegisterInfo::PhysicalRegisterInfo(), llvm::SIFrameLowering::processFunctionBeforeFrameFinalized(), processPSInputArgs(), push_back(), llvm::BuildVectorSDNode::recastRawBits(), removeRedundantDbgLocsUsingBackwardScan(), llvm::SmallBitVector::reserve(), llvm::PPCFrameLowering::restoreCalleeSavedRegisters(), llvm::ScheduleDAGMILive::schedule(), llvm::SmallBitVector::set(), setAliasRegs(), llvm::LiveRangeCalc::setLiveOutValue(), llvm::sandboxir::SeedBundle::setUsed(), llvm::SystemZRegisterInfo::shouldCoalesce(), llvm::SIRegisterInfo::SIRegisterInfo(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), llvm::WebAssemblyFunctionInfo::stackifyVReg(), and llvm::PPCFrameLowering::updateCalleeSaves().

◆ 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 364 of file BitVector.h.

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

◆ set() [3/3]

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

Definition at line 357 of file BitVector.h.

References assert(), and Idx.

◆ 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

Definition at line 134 of file BitVector.h.

Referenced by set_bits(), and llvm::rdf::RegisterAggr::unit_begin().

◆ set_bits_end()

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

Definition at line 137 of file BitVector.h.

Referenced by set_bits(), and llvm::rdf::RegisterAggr::unit_end().

◆ 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 707 of file BitVector.h.

Referenced by llvm::SIMachineFunctionInfo::allocateVGPRSpillToAGPR(), llvm::TargetLoweringBase::findRepresentativeClass(), 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 719 of file BitVector.h.

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

◆ size()

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

◆ swap()

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

Definition at line 680 of file BitVector.h.

References RHS, and 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 536 of file BitVector.h.

References RHS.

◆ test() [2/2]

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

Definition at line 461 of file BitVector.h.

References Idx.

Referenced by addLiveInRegs(), llvm::msf::MSFBuilder::addStream(), assignCalleeSavedSpillSlots(), llvm::LiveRegUnits::available(), llvm::AggressiveAntiDepBreaker::BreakAntiDependencies(), llvm::CriticalAntiDepBreaker::BreakAntiDependencies(), checkNumAlignedDPRCS2Regs(), llvm::LiveRegMatrix::checkRegMaskInterference(), commitFpm(), llvm::Thumb1InstrInfo::copyPhysReg(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::CSKYFrameLowering::determineCalleeSaves(), llvm::RISCVFrameLowering::determineCalleeSaves(), llvm::SystemZELFFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::emitEpilogue(), findFreePredicateReg(), findTemporariesForLR(), llvm::LoongArchTargetLowering::getRegisterByName(), llvm::RISCVTargetLowering::getRegisterByName(), llvm::SIRegisterInfo::getReservedRegs(), llvm::ScheduleDAGTopologicalSort::GetSubGraph(), llvm::rdf::RegisterAggr::hasAliasOf(), llvm::rdf::RegisterAggr::hasCoverOf(), llvm::ARMBaseRegisterInfo::isAsmClobberable(), llvm::PPCRegisterInfo::isAsmClobberable(), TransferTracker::isCalleeSaved(), LiveDebugValues::InstrRefBasedLDV::isCalleeSavedReg(), llvm::PPCRegisterInfo::isCallerPreservedPhysReg(), llvm::DeadLaneDetector::isDefinedByCopy(), llvm::AIXCCState::isFixed(), llvm::MachineRegisterInfo::isPhysRegModified(), llvm::MachineRegisterInfo::isPhysRegUsed(), llvm::MachineRegisterInfo::isReserved(), isStrictSubset(), llvm::SplitAnalysis::isThroughBlock(), llvm::sandboxir::SeedBundle::isUsed(), isVariantApplicableInContextHelper(), llvm::WebAssemblyFunctionInfo::isVRegStackified(), llvm::rdf::RegisterAggr::makeRegRef(), llvm::memprof::CallerCalleePairExtractor::operator()(), llvm::BranchFolder::OptimizeFunction(), llvm::SIFrameLowering::processFunctionBeforeFrameFinalized(), removeGlobalCtors(), llvm::StackLifetime::run(), scavengeStackSlot(), llvm::ScheduleDAGMILive::schedule(), llvm::sandboxir::SeedBundle::setUsed(), llvm::AggressiveAntiDepBreaker::StartBlock(), llvm::CriticalAntiDepBreaker::StartBlock(), llvm::SmallBitVector::test(), and llvm::PPCFrameLowering::updateCalleeSaves().


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