LLVM
15.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 () | |
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) |
BitVector & | set () |
BitVector & | set (unsigned Idx) |
BitVector & | set (unsigned I, unsigned E) |
set - Efficiently set a range of bits in [I, E) More... | |
BitVector & | reset () |
BitVector & | reset (unsigned Idx) |
BitVector & | reset (unsigned I, unsigned E) |
reset - Efficiently reset a range of bits in [I, E) More... | |
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. More... | |
bool | test (unsigned Idx) const |
void | push_back (bool Val) |
void | pop_back () |
Pop one bit from the end of the vector. More... | |
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 |
BitVector & | operator&= (const BitVector &RHS) |
Intersection, union, disjoint union. More... | |
BitVector & | reset (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... | |
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. 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_type | getMemorySize () const |
Return the size (in bytes) of the bit vector. More... | |
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.
|
inline |
BitVector default ctor - Creates an empty bitvector.
Definition at line 138 of file BitVector.h.
|
inlineexplicit |
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.
References i.
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(), and llvm::tgtok::Bit.
Referenced by llvm::SmallBitVector::any(), llvm::SIFrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSavesSGPR(), llvm::AArch64Subtarget::hasCustomCallingConv(), and none().
Test if any common bits are set.
Definition at line 482 of file BitVector.h.
References llvm::numbers::e, i, llvm::min(), and 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, llvm::AMDGPU::HSAMD::Kernel::Key::Args, assert(), E, f(), 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::LiveRegMatrix::checkRegMaskInterference(), llvm::LiveIntervals::checkRegMaskInterference(), llvm::SplitAnalysis::clear(), llvm::FunctionLoweringInfo::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.
References llvm::BitmaskEnumDetail::Mask().
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.
References llvm::BitmaskEnumDetail::Mask().
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::tgtok::Bit, and llvm::countPopulation().
Referenced by llvm::pdb::UDTLayoutBase::addChildToLayout(), llvm::SwitchCG::SwitchLowering::buildBitTests(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::count(), llvm::rdf::RegisterAggr::count(), llvm::SmallBitVector::count(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::count(), llvm::pdb::LayoutItemBase::deepPaddingSize(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::SwitchCG::SwitchLowering::findBitTestClusters(), llvm::SystemZTTIImpl::getInterleavedMemoryOpCost(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::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::HexagonRegisterInfo::getReservedRegs(), llvm::Mips16InstrInfo::loadImmediate(), llvm::rdf::RegisterAggr::makeRegRef(), needsStackFrame(), llvm::operator<<(), llvm::rdf::RegisterAggr::print(), 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.
Referenced by find_first(), 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().
|
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 254 of file BitVector.h.
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().
|
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 223 of file BitVector.h.
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().
|
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 260 of file BitVector.h.
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::HexagonRegisterInfo::getReservedRegs(), llvm::rdf::RegisterAggr::makeRegRef(), needsStackFrame(), llvm::operator<<(), llvm::rdf::RegisterAggr::print(), 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.
References llvm::tgtok::Bit.
Referenced by llvm::SmallBitVector::flip(), and llvm::rdf::PhysicalRegisterInfo::PhysicalRegisterInfo().
|
inline |
Definition at line 431 of file BitVector.h.
|
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::LiveRegUnits::empty(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::empty(), llvm::rdf::RegisterAggr::empty(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::empty(), llvm::GCNScheduleDAGMILive::finalizeSchedule(), llvm::SelectionDAG::FoldConstantArithmetic(), llvm::SelectionDAG::getVectorShuffle(), 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.
References for, i, llvm::min(), and RHS.
|
inline |
Definition at line 623 of file BitVector.h.
References assert(), empty(), I, LLVM_UNLIKELY, llvm::BitmaskEnumDetail::Mask(), and N.
Definition at line 492 of file BitVector.h.
References llvm::lltok::equal, RHS, and size().
|
inline |
Definition at line 574 of file BitVector.h.
References assert(), empty(), I, LLVM_UNLIKELY, llvm::BitmaskEnumDetail::Mask(), and N.
|
inline |
Definition at line 437 of file BitVector.h.
References assert().
|
inline |
Definition at line 442 of file BitVector.h.
References assert(), and llvm::BitmaskEnumDetail::Mask().
|
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::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::BuildVectorSDNode::recastRawBits(), 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::GCNScheduleDAGMILive::schedule(), 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 i, llvm::min(), and RHS.
|
inline |
reset - Efficiently reset a range of bits in [I, E)
Definition at line 396 of file BitVector.h.
References llvm::alignTo(), assert(), E, I, llvm::BitmaskEnumDetail::Mask(), and size().
|
inline |
Definition at line 390 of file BitVector.h.
|
inline |
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::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::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::AVRFrameLowering::determineCalleeSaves(), llvm::RISCVFrameLowering::determineCalleeSaves(), llvm::ARCFrameLowering::determineCalleeSaves(), llvm::Mips16FrameLowering::determineCalleeSaves(), llvm::CSKYFrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::SystemZELFFrameLowering::determineCalleeSaves(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::X86FrameLowering::determineCalleeSaves(), llvm::M68kFrameLowering::determineCalleeSaves(), llvm::SystemZXPLINKFrameLowering::determineCalleeSaves(), llvm::TargetFrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSavesSGPR(), llvm::TargetLibraryInfo::disableAllFunctions(), llvm::GCNScheduleDAGMILive::finalizeSchedule(), llvm::SwitchCG::SwitchLowering::findBitTestClusters(), llvm::ARMFrameLowering::getCalleeSaves(), llvm::TargetFrameLowering::getCalleeSaves(), llvm::BuildVectorSDNode::getConstantRawBits(), getInputSegmentList(), llvm::SystemZTTIImpl::getInterleavedMemoryOpCost(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getInterleavedMemoryOpCost(), llvm::MachineFrameInfo::getPristineRegs(), llvm::MSP430RegisterInfo::getReservedRegs(), llvm::XCoreRegisterInfo::getReservedRegs(), llvm::SparcRegisterInfo::getReservedRegs(), llvm::VERegisterInfo::getReservedRegs(), llvm::AVRRegisterInfo::getReservedRegs(), llvm::LanaiRegisterInfo::getReservedRegs(), llvm::WebAssemblyRegisterInfo::getReservedRegs(), llvm::ARCRegisterInfo::getReservedRegs(), llvm::HexagonRegisterInfo::getReservedRegs(), llvm::MipsRegisterInfo::getReservedRegs(), llvm::SIRegisterInfo::getReservedRegs(), llvm::M68kRegisterInfo::getReservedRegs(), llvm::PPCRegisterInfo::getReservedRegs(), llvm::X86RegisterInfo::getReservedRegs(), llvm::SystemZRegisterInfo::getReservedRegs(), 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::BuildVectorSDNode::recastRawBits(), llvm::SmallBitVector::reserve(), llvm::R600RegisterInfo::reserveRegisterTuples(), 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().
|
inline |
set - Efficiently set a range of bits in [I, E)
Definition at line 357 of file BitVector.h.
References llvm::alignTo(), assert(), E, I, llvm::BitmaskEnumDetail::Mask(), and size().
|
inline |
Definition at line 350 of file BitVector.h.
References assert().
|
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::CSKYFrameLowering::determineCalleeSaves(), llvm::AArch64FrameLowering::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.
References llvm::BitmaskEnumDetail::Mask().
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.
References llvm::BitmaskEnumDetail::Mask().
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(), llvm::PPCFrameLowering::assignCalleeSavedSpillSlots(), assignCalleeSavedSpillSlots(), back(), llvm::pdb::LayoutItemBase::deepPaddingSize(), llvm::MachineRegisterInfo::freezeReservedRegs(), llvm::msf::MSFBuilder::generateLayout(), llvm::ImmutableGraphBuilder< GraphT >::get(), 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::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::size(), llvm::SmallBitVector::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 i, llvm::min(), and RHS.
|
inline |
Definition at line 454 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::CSKYFrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::SystemZELFFrameLowering::determineCalleeSaves(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), findTemporariesForLR(), llvm::RISCVTargetLowering::getRegisterByName(), llvm::ARMBaseRegisterInfo::getReservedRegs(), 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(), LiveDebugValues::InstrRefBasedLDV::isCalleeSaved(), llvm::PPCRegisterInfo::isCallerPreservedPhysReg(), llvm::AIXCCState::isFixed(), llvm::ARMBaseRegisterInfo::isInlineAsmReadOnlyReg(), llvm::MachineRegisterInfo::isPhysRegModified(), llvm::MachineRegisterInfo::isPhysRegUsed(), llvm::MachineRegisterInfo::isReserved(), isStrictSubset(), llvm::SplitAnalysis::isThroughBlock(), isVariantApplicableInContextHelper(), llvm::WebAssemblyFunctionInfo::isVRegStackified(), TransferTracker::loadInlocs(), llvm::rdf::RegisterAggr::makeRegRef(), llvm::BranchFolder::OptimizeFunction(), llvm::SIFrameLowering::processFunctionBeforeFrameFinalized(), removeGlobalCtors(), llvm::StackLifetime::run(), scavengeStackSlot(), llvm::ScheduleDAGMILive::schedule(), llvm::CriticalAntiDepBreaker::StartBlock(), llvm::AggressiveAntiDepBreaker::StartBlock(), llvm::SmallBitVector::test(), and llvm::MachineFunctionProperties::verifyRequiredProperties().