LLVM 17.0.0git
|
#include "llvm/ADT/BitVector.h"
Classes | |
class | reference |
Public Types | |
using | size_type = unsigned |
typedef const_set_bits_iterator_impl< BitVector > | const_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_iterator > | set_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) |
BitVector & | set () |
BitVector & | set (unsigned Idx) |
BitVector & | set (unsigned I, unsigned E) |
set - Efficiently set a range of bits in [I, E) | |
BitVector & | reset () |
BitVector & | reset (unsigned Idx) |
BitVector & | reset (unsigned I, unsigned E) |
reset - Efficiently reset a range of bits in [I, E) | |
BitVector & | flip () |
BitVector & | flip (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 |
BitVector & | operator&= (const BitVector &RHS) |
Intersection, union, disjoint union. | |
BitVector & | reset (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. | |
BitVector & | operator|= (const BitVector &RHS) |
BitVector & | operator^= (const BitVector &RHS) |
BitVector & | operator>>= (unsigned N) |
BitVector & | operator<<= (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 BitVector & | apply (F &&f, BitVector &Out, BitVector const &Arg, ArgTys const &...Args) |
Definition at line 75 of file BitVector.h.
Definition at line 124 of file BitVector.h.
Definition at line 125 of file BitVector.h.
using llvm::BitVector::size_type = unsigned |
Definition at line 89 of file BitVector.h.
|
default |
BitVector default ctor - Creates an empty bitvector.
BitVector ctor - Creates a bitvector of specified number of bits.
All bits are initialized to the specified value.
Definition at line 142 of file BitVector.h.
|
inline |
all - Returns true if all bits are set.
Definition at line 168 of file BitVector.h.
Referenced by llvm::SmallBitVector::all().
|
inline |
any - Returns true if any bit is set.
Definition at line 163 of file BitVector.h.
References llvm::any_of().
Referenced by llvm::SmallBitVector::any(), llvm::AggressiveAntiDepBreaker::BreakAntiDependencies(), llvm::SIFrameLowering::determineCalleeSavesSGPR(), llvm::SIFrameLowering::determinePrologEpilogSGPRSaves(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::AArch64Subtarget::hasCustomCallingConv(), and none().
Test if any common bits are set.
Definition at line 482 of file BitVector.h.
References RHS.
Referenced by llvm::SmallBitVector::anyCommon(), and llvm::rdf::RegisterAggr::hasAliasOf().
|
inlinestatic |
Definition at line 545 of file BitVector.h.
References llvm::all_of(), Arg, assert(), E, I, and resize().
|
inline |
Return the last element in the vector.
Definition at line 449 of file BitVector.h.
|
inline |
clear - Removes all bits from the bitvector.
Definition at line 328 of file BitVector.h.
Referenced by llvm::LiveIntervals::checkRegMaskInterference(), llvm::LiveRegMatrix::checkRegMaskInterference(), llvm::FunctionLoweringInfo::clear(), llvm::SplitAnalysis::clear(), llvm::ScheduleDAGMILive::computeDFSResult(), llvm::BuildVectorSDNode::getRepeatedSequence(), llvm::BuildVectorSDNode::getSplatValue(), llvm::SpillPlacement::prepare(), llvm::BuildVectorSDNode::recastRawBits(), llvm::LiveRangeCalc::resetLiveOutMap(), and scavengeStackSlot().
clearBitsInMask - Clear any bits in this vector that are set in Mask.
Don't resize. This computes "*this &= ~Mask".
Definition at line 706 of file BitVector.h.
Referenced by llvm::SmallBitVector::clearBitsInMask(), llvm::SIFrameLowering::determineCalleeSaves(), and llvm::SIFrameLowering::determineCalleeSavesSGPR().
clearBitsNotInMask - Clear a bit in this vector for every '0' bit in Mask.
Don't resize. This computes "*this &= Mask".
Definition at line 718 of file BitVector.h.
Referenced by llvm::LiveIntervals::checkRegMaskInterference(), llvm::SmallBitVector::clearBitsNotInMask(), and llvm::SIFrameLowering::determineCalleeSaves().
|
inline |
count - Returns the number of bits which are set.
Definition at line 155 of file BitVector.h.
References llvm::popcount().
Referenced by llvm::pdb::UDTLayoutBase::addChildToLayout(), llvm::SwitchCG::SwitchLowering::buildBitTests(), llvm::SmallBitVector::count(), llvm::rdf::RegisterAggr::count(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::count(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::count(), llvm::pdb::LayoutItemBase::deepPaddingSize(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::SwitchCG::SwitchLowering::findBitTestClusters(), llvm::BasicTTIImplBase< T >::getInterleavedMemoryOpCost(), llvm::SystemZTTIImpl::getInterleavedMemoryOpCost(), llvm::msf::MSFBuilder::getNumFreeBlocks(), llvm::AArch64Subtarget::getNumXRegisterReserved(), llvm::pdb::ClassLayout::immediatePadding(), isStrictSubset(), lowerBuildVectorAsBroadcast(), llvm::RegisterBank::print(), and llvm::SystemZRegisterInfo::shouldCoalesce().
|
inline |
empty - Tests whether there are no bits in this bitvector.
Definition at line 149 of file BitVector.h.
Referenced by assignCalleeSavedSpillSlots(), back(), llvm::LiveRegMatrix::checkRegMaskInterference(), llvm::CodeGenCoverage::emit(), llvm::SmallBitVector::empty(), llvm::RegisterBank::isValid(), operator<<=(), operator>>=(), pop_back(), llvm::RegisterBank::print(), and llvm::SIFrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
find_first - Returns the index of the first set bit, -1 if none of the bits are set.
Definition at line 293 of file BitVector.h.
References find_first_in().
Referenced by llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), llvm::PPCFrameLowering::assignCalleeSavedSpillSlots(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::begin(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::begin(), dump_registers(), llvm::SmallBitVector::find_first(), llvm::Mips16InstrInfo::loadImmediate(), llvm::rdf::RegisterAggr::makeRegRef(), needsStackFrame(), llvm::operator<<(), llvm::rdf::RegisterAggr::print(), llvm::rdf::RegisterAggr::rr_iterator::rr_iterator(), and scavengeStackSlot().
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 188 of file BitVector.h.
References assert(), and llvm::countr_zero().
Referenced by find_first(), find_first_unset_in(), and find_next().
|
inline |
find_first_unset - Returns the index of the first unset bit, -1 if all of the bits are set.
Definition at line 309 of file BitVector.h.
References find_first_unset_in().
Referenced by llvm::SmallBitVector::find_first_unset().
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 254 of file BitVector.h.
References find_first_in().
Referenced by find_first_unset(), and find_next_unset().
|
inline |
find_last - Returns the index of the last set bit, -1 if none of the bits are set.
Definition at line 297 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 - 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 223 of file BitVector.h.
References assert(), and llvm::countl_zero().
Referenced by find_last(), and find_prev().
|
inline |
find_last_unset - Returns the index of the last unset bit, -1 if all of the bits are set.
Definition at line 319 of file BitVector.h.
References find_last_unset_in().
Referenced by llvm::SmallBitVector::find_last_unset().
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 260 of file BitVector.h.
References assert(), and llvm::countl_one().
Referenced by find_last_unset(), and find_prev_unset().
|
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 301 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(), llvm::rdf::RegisterAggr::rr_iterator::rr_iterator(), and scavengeStackSlot().
|
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 313 of file BitVector.h.
References find_first_unset_in().
Referenced by llvm::SmallBitVector::find_next_unset().
|
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 305 of file BitVector.h.
References find_last_in().
Referenced by llvm::SmallBitVector::find_prev().
|
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 323 of file BitVector.h.
References find_last_unset_in().
|
inline |
Definition at line 424 of file BitVector.h.
Referenced by llvm::SmallBitVector::flip(), and llvm::rdf::PhysicalRegisterInfo::PhysicalRegisterInfo().
Definition at line 431 of file BitVector.h.
References Idx.
|
inline |
Definition at line 825 of file BitVector.h.
Referenced by push_back().
|
inline |
Definition at line 684 of file BitVector.h.
Referenced by llvm::SmallBitVector::getData(), and llvm::DenseMapInfo< BitVector >::getHashValue().
|
inline |
Return the size (in bytes) of the bit vector.
Definition at line 824 of file BitVector.h.
|
inline |
Definition at line 678 of file BitVector.h.
References assert().
Referenced by llvm::DenseMapInfo< BitVector >::getTombstoneKey().
|
inline |
Definition at line 682 of file BitVector.h.
|
inline |
none - Returns true if none of the bits are set.
Definition at line 181 of file BitVector.h.
References any().
Referenced by llvm::AggressiveAntiDepBreaker::AggressiveAntiDepBreaker(), llvm::PPCFrameLowering::assignCalleeSavedSpillSlots(), combineGatherScatter(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::LiveRegUnits::empty(), llvm::rdf::RegisterAggr::empty(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::empty(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::empty(), llvm::SelectionDAG::getVectorShuffle(), llvm::UnclusteredHighRPStage::initGCNSchedStage(), llvm::PreRARematStage::initGCNSchedStage(), llvm::isConstOrConstSplat(), llvm::isConstOrConstSplatFP(), llvm::SmallBitVector::none(), and scavengeStackSlot().
Definition at line 499 of file BitVector.h.
References RHS.
Intersection, union, disjoint union.
Definition at line 502 of file BitVector.h.
Definition at line 623 of file BitVector.h.
References assert(), empty(), I, LLVM_UNLIKELY, and N.
Definition at line 492 of file BitVector.h.
Definition at line 574 of file BitVector.h.
References assert(), empty(), I, LLVM_UNLIKELY, and N.
Definition at line 437 of file BitVector.h.
Definition at line 442 of file BitVector.h.
|
inline |
|
inline |
Definition at line 459 of file BitVector.h.
References getBitCapacity(), resize(), and set().
Referenced by llvm::SIMachineFunctionInfo::allocateVGPRSpillToAGPR(), and llvm::ScheduleDAGTopologicalSort::GetSubGraph().
|
inline |
Definition at line 341 of file BitVector.h.
References N.
Referenced by llvm::SmallBitVector::reserve().
|
inline |
Definition at line 385 of file BitVector.h.
Referenced by llvm::ScheduleDAGTopologicalSort::AddPred(), llvm::msf::MSFBuilder::addStream(), llvm::PPCFrameLowering::assignCalleeSavedSpillSlots(), llvm::AggressiveAntiDepBreaker::BreakAntiDependencies(), llvm::GCNSchedStage::checkScheduling(), llvm::LiveRegUnits::clear(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::clear(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::clear(), llvm::rdf::RegisterAggr::clear(), computeFreeStackSlots(), llvm::DeadLaneDetector::computeSubRegisterLaneBitInfo(), llvm::BPFFrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSaves(), llvm::LanaiFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::XCoreFrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSavesSGPR(), determineFPRegsToClear(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::erase(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::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::BuildVectorSDNode::recastRawBits(), llvm::LiveRegUnits::removeReg(), llvm::LiveRegUnits::removeRegsNotPreserved(), llvm::LiveRegUnits::removeUnits(), llvm::SmallBitVector::reset(), llvm::MachineFunctionProperties::reset(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::reset(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::reset(), llvm::RegScavenger::scavengeRegister(), scavengeStackSlot(), llvm::CriticalAntiDepBreaker::StartBlock(), llvm::pdb::UDTLayoutBase::UDTLayoutBase(), and llvm::WebAssemblyFunctionInfo::unstackifyVReg().
reset - Reset bits that are set in RHS. Same as *this &= ~RHS.
Definition at line 519 of file BitVector.h.
References RHS.
reset - Efficiently reset a range of bits in [I, E)
Definition at line 396 of file BitVector.h.
References llvm::alignTo(), assert(), E, I, and size().
Definition at line 390 of file BitVector.h.
References Idx.
resize - Grow or shrink the bitvector.
Definition at line 334 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::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::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().
|
inline |
Definition at line 344 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(), assignCalleeSavedSpillSlots(), llvm::PPCFrameLowering::assignCalleeSavedSpillSlots(), llvm::pdb::BaseClassLayout::BaseClassLayout(), llvm::AggressiveAntiDepBreaker::BreakAntiDependencies(), llvm::SwitchCG::SwitchLowering::buildBitTests(), llvm::TargetRegisterInfo::checkAllSuperRegsMarked(), checkNumAlignedDPRCS2Regs(), llvm::pdb::ClassLayout::ClassLayout(), clearKillsForDef(), 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::TargetFrameLowering::determineCalleeSaves(), llvm::AVRFrameLowering::determineCalleeSaves(), llvm::M68kFrameLowering::determineCalleeSaves(), llvm::X86FrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSavesSGPR(), llvm::TargetLibraryInfo::disableAllFunctions(), 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::MachineFrameInfo::getPristineRegs(), llvm::ScheduleDAGTopologicalSort::GetSubGraph(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::insert(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::insert(), llvm::rdf::RegisterAggr::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::BuildVectorSDNode::recastRawBits(), llvm::SmallBitVector::reserve(), llvm::PPCFrameLowering::restoreCalleeSavedRegisters(), llvm::ScheduleDAGMILive::schedule(), llvm::SmallBitVector::set(), llvm::MachineFunctionProperties::set(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::set(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::set(), setAliasRegs(), llvm::LiveRangeCalc::setLiveOutValue(), llvm::TargetLibraryInfo::setUnavailable(), llvm::SystemZRegisterInfo::shouldCoalesce(), llvm::SIRegisterInfo::SIRegisterInfo(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), and llvm::WebAssemblyFunctionInfo::stackifyVReg().
set - Efficiently set a range of bits in [I, E)
Definition at line 357 of file BitVector.h.
References llvm::alignTo(), assert(), E, I, and size().
Definition at line 350 of file BitVector.h.
|
inline |
Definition at line 133 of file BitVector.h.
References llvm::make_range(), set_bits_begin(), and set_bits_end().
Referenced by llvm::AggressiveAntiDepBreaker::AggressiveAntiDepBreaker(), llvm::PPCFrameLowering::assignCalleeSavedSpillSlots(), llvm::CodeGenCoverage::covered(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::CSKYFrameLowering::determineCalleeSaves(), llvm::CodeGenCoverage::emit(), llvm::TargetLoweringBase::findRepresentativeClass(), findTemporariesForLR(), llvm::SpillPlacement::finish(), getInputSegmentList(), getVariantMatchScore(), isStrictSubset(), isVariantApplicableInContextHelper(), llvm::omp::OMPContext::OMPContext(), llvm::SIFrameLowering::processFunctionBeforeFrameFinalized(), and llvm::SpillPlacement::scanActiveBundles().
|
inline |
Definition at line 127 of file BitVector.h.
Referenced by llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::index_begin(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::index_begin(), and set_bits().
|
inline |
Definition at line 130 of file BitVector.h.
Referenced by llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::index_end(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::index_end(), and set_bits().
setBitsInMask - Add '1' bits from Mask to this vector.
Don't resize. This computes "*this |= Mask".
Definition at line 700 of file BitVector.h.
Referenced by llvm::SIMachineFunctionInfo::allocateVGPRSpillToAGPR(), llvm::TargetLoweringBase::findRepresentativeClass(), llvm::RegisterBank::RegisterBank(), and llvm::SmallBitVector::setBitsInMask().
setBitsNotInMask - Add a bit to this vector for every '0' bit in Mask.
Don't resize. This computes "*this |= ~Mask".
Definition at line 712 of file BitVector.h.
Referenced by llvm::SmallBitVector::setBitsNotInMask().
|
inline |
size - Returns the number of bits in this bitvector.
Definition at line 152 of file BitVector.h.
Referenced by llvm::pdb::UDTLayoutBase::addChildToLayout(), llvm::msf::MSFBuilder::addStream(), assignCalleeSavedSpillSlots(), llvm::PPCFrameLowering::assignCalleeSavedSpillSlots(), back(), llvm::pdb::LayoutItemBase::deepPaddingSize(), llvm::MachineRegisterInfo::freezeReservedRegs(), llvm::msf::MSFBuilder::generateLayout(), llvm::DenseMapInfo< BitVector >::getHashValue(), llvm::msf::MSFBuilder::getTotalBlockCount(), llvm::CodeGenCoverage::isCovered(), llvm::WebAssemblyFunctionInfo::isVRegStackified(), operator==(), operator^=(), operator|=(), llvm::BranchFolder::OptimizeFunction(), pop_back(), llvm::RegisterBank::print(), llvm::BuildVectorSDNode::recastRawBits(), reset(), llvm::RegisterClassInfo::runOnMachineFunction(), scavengeStackSlot(), set(), llvm::msf::MSFBuilder::setBlockMapAddr(), llvm::CodeGenCoverage::setCovered(), llvm::SmallBitVector::size(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::size(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::size(), llvm::WebAssemblyFunctionInfo::stackifyVReg(), llvm::pdb::LayoutItemBase::tailPadding(), and llvm::WebAssemblyFunctionInfo::unstackifyVReg().
|
inline |
Definition at line 673 of file BitVector.h.
References RHS, and std::swap().
test - Check if (This - RHS) is zero.
This is the same as reset(RHS) and any().
Definition at line 529 of file BitVector.h.
References RHS.
Definition at line 454 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(), clearKillsForDef(), commitFpm(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::contains(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::contains(), llvm::RegisterBank::covers(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::CSKYFrameLowering::determineCalleeSaves(), llvm::SystemZELFFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::emitEpilogue(), llvm::Thumb1FrameLowering::emitEpilogue(), findTemporariesForLR(), llvm::LoongArchTargetLowering::getRegisterByName(), llvm::RISCVTargetLowering::getRegisterByName(), llvm::ScheduleDAGTopologicalSort::GetSubGraph(), llvm::rdf::RegisterAggr::hasAliasOf(), llvm::rdf::RegisterAggr::hasCoverOf(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::insert(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::insert(), llvm::ARMBaseRegisterInfo::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(), isVariantApplicableInContextHelper(), llvm::WebAssemblyFunctionInfo::isVRegStackified(), llvm::rdf::RegisterAggr::makeRegRef(), llvm::RISCVRegisterInfo::needsFrameBaseReg(), llvm::BranchFolder::OptimizeFunction(), llvm::SIFrameLowering::processFunctionBeforeFrameFinalized(), removeGlobalCtors(), llvm::StackLifetime::run(), scavengeStackSlot(), llvm::ScheduleDAGMILive::schedule(), llvm::AggressiveAntiDepBreaker::StartBlock(), llvm::CriticalAntiDepBreaker::StartBlock(), llvm::SmallBitVector::test(), and llvm::MachineFunctionProperties::verifyRequiredProperties().