|
LLVM
4.0.0
|
#include <BitVector.h>
Classes | |
| class | reference |
Public Types | |
| typedef unsigned | size_type |
Public Member Functions | |
| 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... | |
| BitVector (const BitVector &RHS) | |
| BitVector copy ctor. More... | |
| BitVector (BitVector &&RHS) | |
| ~BitVector () | |
| 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 () const |
| find_first - Returns the index of the first 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... | |
| void | clear () |
| clear - Clear all bits. More... | |
| void | resize (unsigned N, bool t=false) |
| resize - Grow or shrink the bitvector. More... | |
| void | reserve (unsigned N) |
| 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 | test (unsigned Idx) const |
| 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) |
| const BitVector & | operator= (const BitVector &RHS) |
| const BitVector & | operator= (BitVector &&RHS) |
| void | swap (BitVector &RHS) |
| 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... | |
Definition at line 28 of file BitVector.h.
| typedef unsigned llvm::BitVector::size_type |
Definition at line 41 of file BitVector.h.
|
inline |
BitVector default ctor - Creates an empty bitvector.
Definition at line 78 of file BitVector.h.
References llvm::tgtok::Bits.
BitVector ctor - Creates a bitvector of specified number of bits.
All bits are initialized to the specified value.
Definition at line 84 of file BitVector.h.
References llvm::tgtok::Bits, and t.
BitVector copy ctor.
Definition at line 93 of file BitVector.h.
References llvm::tgtok::Bits, and size().
|
inline |
Definition at line 105 of file BitVector.h.
|
inline |
Definition at line 111 of file BitVector.h.
References llvm::tgtok::Bits.
|
inline |
all - Returns true if all bits are set.
Definition at line 138 of file BitVector.h.
References llvm::tgtok::Bits, and i.
Referenced by llvm::SmallBitVector::all().
|
inline |
any - Returns true if any bit is set.
Definition at line 130 of file BitVector.h.
References llvm::tgtok::Bits, i, and size().
Referenced by llvm::SmallBitVector::any(), llvm::AggressiveAntiDepBreaker::BreakAntiDependencies(), none(), and llvm::RegScavenger::scavengeRegister().
Test if any common bits are set.
Definition at line 328 of file BitVector.h.
References llvm::tgtok::Bits, i, fuzzer::min(), and size().
Referenced by llvm::SmallBitVector::anyCommon(), and llvm::safestack::StackColoring::LiveRange::Overlaps().
|
inline |
clear - Clear all bits.
Definition at line 188 of file BitVector.h.
Referenced by llvm::LiveRegMatrix::checkRegMaskInterference(), llvm::LiveIntervals::checkRegMaskInterference(), llvm::SplitAnalysis::clear(), llvm::ScheduleDAGMILive::computeDFSResult(), llvm::BuildVectorSDNode::getSplatValue(), llvm::SpillPlacement::prepare(), and scavengeStackSlot().
clearBitsInMask - Clear any bits in this vector that are set in Mask.
Don't resize. This computes "*this &= ~Mask".
Definition at line 489 of file BitVector.h.
References llvm::BitmaskEnumDetail::Mask().
Referenced by llvm::SmallBitVector::clearBitsInMask().
clearBitsNotInMask - Clear a bit in this vector for every '0' bit in Mask.
Don't resize. This computes "*this &= Mask".
Definition at line 501 of file BitVector.h.
References llvm::BitmaskEnumDetail::Mask().
Referenced by llvm::LiveIntervals::checkRegMaskInterference(), and llvm::SmallBitVector::clearBitsNotInMask().
|
inline |
count - Returns the number of bits which are set.
Definition at line 122 of file BitVector.h.
References llvm::tgtok::Bits, llvm::countPopulation(), i, and size().
Referenced by llvm::SmallBitVector::count(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getInterleavedMemoryOpCost(), llvm::msf::MSFBuilder::getNumFreeBlocks(), LowerVectorBroadcast(), and llvm::RegisterBank::print().
|
inline |
empty - Tests whether there are no bits in this bitvector.
Definition at line 116 of file BitVector.h.
Referenced by assignCalleeSavedSpillSlots(), llvm::LiveRegMatrix::checkRegMaskInterference(), llvm::SmallBitVector::empty(), llvm::RegisterBank::isValid(), llvm::RegisterBank::print(), and llvm::MachineRegisterInfo::reservedRegsFrozen().
|
inline |
find_first - Returns the index of the first set bit, -1 if none of the bits are set.
Definition at line 157 of file BitVector.h.
References llvm::tgtok::Bits, llvm::countTrailingZeros(), i, and size().
Referenced by llvm::AggressiveAntiDepBreaker::AggressiveAntiDepBreaker(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), llvm::TargetRegisterInfo::checkAllSuperRegsMarked(), llvm::AArch64FrameLowering::determineCalleeSaves(), dump_registers(), llvm::SmallBitVector::find_first(), llvm::SpillPlacement::finish(), llvm::Mips16InstrInfo::loadImmediate(), llvm::safestack::operator<<(), llvm::SpillPlacement::scanActiveBundles(), and scavengeStackSlot().
|
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 166 of file BitVector.h.
References llvm::tgtok::Bits, llvm::countTrailingZeros(), i, and size().
Referenced by llvm::AggressiveAntiDepBreaker::AggressiveAntiDepBreaker(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), llvm::TargetRegisterInfo::checkAllSuperRegsMarked(), llvm::AArch64FrameLowering::determineCalleeSaves(), dump_registers(), llvm::SmallBitVector::find_next(), llvm::SpillPlacement::finish(), llvm::safestack::operator<<(), llvm::SpillPlacement::scanActiveBundles(), and scavengeStackSlot().
|
inline |
Definition at line 299 of file BitVector.h.
References llvm::tgtok::Bits, i, and size().
Referenced by llvm::SmallBitVector::flip(), and llvm::TargetRegisterInfo::getAllocatableSet().
Definition at line 306 of file BitVector.h.
References llvm::tgtok::Bits.
|
inline |
Return the size (in bytes) of the bit vector.
Definition at line 574 of file BitVector.h.
Referenced by llvm::capacity_in_bytes().
|
inline |
none - Returns true if none of the bits are set.
Definition at line 151 of file BitVector.h.
References any().
Referenced by llvm::AggressiveAntiDepBreaker::AggressiveAntiDepBreaker(), llvm::MIRPrinter::convert(), llvm::SelectionDAG::getVectorShuffle(), llvm::isConstOrConstSplat(), llvm::isConstOrConstSplatFP(), llvm::SmallBitVector::none(), and scavengeStackSlot().
Definition at line 359 of file BitVector.h.
Intersection, union, disjoint union.
Definition at line 364 of file BitVector.h.
References llvm::tgtok::Bits, for(), i, fuzzer::min(), and size().
Definition at line 424 of file BitVector.h.
References assert(), llvm::tgtok::Bits, and size().
Definition at line 449 of file BitVector.h.
References llvm::tgtok::Bits.
Definition at line 338 of file BitVector.h.
References llvm::tgtok::Bits, i, fuzzer::min(), and size().
Definition at line 312 of file BitVector.h.
References assert().
Definition at line 317 of file BitVector.h.
References assert(), llvm::tgtok::Bits, and llvm::BitmaskEnumDetail::Mask().
Definition at line 415 of file BitVector.h.
References llvm::tgtok::Bits, i, resize(), and size().
Definition at line 407 of file BitVector.h.
References llvm::tgtok::Bits, i, resize(), and size().
|
inline |
Definition at line 213 of file BitVector.h.
Referenced by llvm::SmallBitVector::reserve().
|
inline |
Definition at line 260 of file BitVector.h.
References llvm::tgtok::Bits.
Referenced by llvm::ScheduleDAGTopologicalSort::AddPred(), llvm::msf::MSFBuilder::addStream(), computeFreeStackSlots(), llvm::BPFFrameLowering::determineCalleeSaves(), llvm::XCoreFrameLowering::determineCalleeSaves(), llvm::LanaiFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::SpillPlacement::finish(), llvm::CriticalAntiDepBreaker::FinishBlock(), llvm::MachineFrameInfo::getPristineRegs(), llvm::PPCRegisterInfo::getReservedRegs(), llvm::ScheduleDAGTopologicalSort::IsReachable(), llvm::Mips16InstrInfo::loadImmediate(), llvm::MachineFunctionProperties::reset(), llvm::SmallBitVector::reset(), llvm::RegScavenger::scavengeRegister(), scavengeStackSlot(), llvm::RegScavenger::setRegUsed(), and llvm::CriticalAntiDepBreaker::StartBlock().
Definition at line 265 of file BitVector.h.
References llvm::tgtok::Bits.
reset - Efficiently reset a range of bits in [I, E)
Definition at line 271 of file BitVector.h.
References llvm::alignTo(), assert(), llvm::tgtok::Bits, E, llvm::BitmaskEnumDetail::Mask(), and size().
reset - Reset bits that are set in RHS. Same as *this &= ~RHS.
Definition at line 381 of file BitVector.h.
References llvm::tgtok::Bits, i, fuzzer::min(), and size().
resize - Grow or shrink the bitvector.
Definition at line 193 of file BitVector.h.
References llvm::tgtok::Bits, N, and t.
Referenced by llvm::msf::MSFBuilder::addStream(), llvm::LiveIntervals::checkRegMaskInterference(), llvm::ScheduleDAGMILive::computeDFSResult(), computeFreeStackSlots(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::TargetFrameLowering::determineCalleeSaves(), llvm::BuildVectorSDNode::getSplatValue(), llvm::ScheduleDAGTopologicalSort::InitDAGTopologicalSorting(), llvm::MachineRegisterInfo::MachineRegisterInfo(), operator^=(), operator|=(), llvm::pdb::PDBFile::parseFileHeaders(), llvm::SpillPlacement::prepare(), llvm::RegisterBank::RegisterBank(), llvm::SmallBitVector::resize(), llvm::msf::MSFBuilder::setBlockMapAddr(), llvm::safestack::StackColoring::LiveRange::SetMaximum(), and llvm::WebAssemblyFunctionInfo::stackifyVReg().
|
inline |
Definition at line 219 of file BitVector.h.
References llvm::tgtok::Bits.
Referenced by llvm::safestack::StackColoring::LiveRange::AddRange(), llvm::RegScavenger::backward(), llvm::TargetRegisterInfo::checkAllSuperRegsMarked(), checkNumAlignedDPRCS2Regs(), collectChangingRegs(), llvm::SystemZFrameLowering::determineCalleeSaves(), llvm::AVRFrameLowering::determineCalleeSaves(), llvm::Mips16FrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::X86FrameLowering::determineCalleeSaves(), llvm::TargetFrameLowering::determineCalleeSaves(), getAllocatableSetForRC(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getInterleavedMemoryOpCost(), llvm::MachineFrameInfo::getPristineRegs(), llvm::R600RegisterInfo::getReservedRegs(), llvm::BPFRegisterInfo::getReservedRegs(), llvm::MSP430RegisterInfo::getReservedRegs(), llvm::SparcRegisterInfo::getReservedRegs(), llvm::XCoreRegisterInfo::getReservedRegs(), llvm::AVRRegisterInfo::getReservedRegs(), llvm::LanaiRegisterInfo::getReservedRegs(), llvm::WebAssemblyRegisterInfo::getReservedRegs(), llvm::HexagonRegisterInfo::getReservedRegs(), llvm::SIRegisterInfo::getReservedRegs(), llvm::MipsRegisterInfo::getReservedRegs(), llvm::SystemZRegisterInfo::getReservedRegs(), llvm::PPCRegisterInfo::getReservedRegs(), llvm::X86RegisterInfo::getReservedRegs(), isIrreducibleCFG(), llvm::TargetRegisterInfo::markSuperRegs(), llvm::BranchFolder::OptimizeFunction(), llvm::optimizeGlobalCtorsList(), llvm::SmallBitVector::reserve(), llvm::R600InstrInfo::reserveIndirectRegisters(), llvm::ScheduleDAGMILive::schedule(), llvm::MachineFunctionProperties::set(), llvm::SmallBitVector::set(), setAliasRegs(), llvm::LiveRangeCalc::setLiveOutValue(), llvm::WebAssemblyFunctionInfo::stackifyVReg(), and trackRegDefsUses().
Definition at line 225 of file BitVector.h.
References assert(), and llvm::tgtok::Bits.
set - Efficiently set a range of bits in [I, E)
Definition at line 232 of file BitVector.h.
References llvm::alignTo(), assert(), llvm::tgtok::Bits, E, llvm::BitmaskEnumDetail::Mask(), and size().
setBitsInMask - Add '1' bits from Mask to this vector.
Don't resize. This computes "*this |= Mask".
Definition at line 483 of file BitVector.h.
References llvm::BitmaskEnumDetail::Mask().
Referenced by 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 495 of file BitVector.h.
References llvm::BitmaskEnumDetail::Mask().
Referenced by llvm::MachineRegisterInfo::addPhysRegsUsedFromRegMask(), collectChangingRegs(), llvm::SmallBitVector::setBitsNotInMask(), and trackRegDefsUses().
|
inline |
size - Returns the number of bits in this bitvector.
Definition at line 119 of file BitVector.h.
Referenced by llvm::msf::MSFBuilder::addStream(), any(), anyCommon(), BitVector(), llvm::msf::MSFBuilder::build(), llvm::MIRPrinter::convert(), count(), find_first(), find_next(), flip(), llvm::MachineRegisterInfo::freezeReservedRegs(), llvm::msf::MSFBuilder::getTotalBlockCount(), llvm::WebAssemblyFunctionInfo::isVRegStackified(), operator&=(), operator=(), operator==(), operator^=(), operator|=(), llvm::MIRParserImpl::parseRegisterInfo(), llvm::RegisterBank::print(), llvm::MachineFunctionProperties::print(), reset(), llvm::RegisterClassInfo::runOnMachineFunction(), scavengeStackSlot(), set(), llvm::msf::MSFBuilder::setBlockMapAddr(), llvm::SmallBitVector::size(), llvm::WebAssemblyFunctionInfo::stackifyVReg(), and test().
|
inline |
Definition at line 463 of file BitVector.h.
References llvm::tgtok::Bits, and std::swap().
Referenced by std::swap().
Definition at line 323 of file BitVector.h.
Referenced by addLiveInRegs(), llvm::msf::MSFBuilder::addStream(), assignCalleeSavedSpillSlots(), llvm::CriticalAntiDepBreaker::BreakAntiDependencies(), llvm::AggressiveAntiDepBreaker::BreakAntiDependencies(), llvm::MachineRegisterInfo::canReserveReg(), checkNumAlignedDPRCS2Regs(), llvm::LiveRegMatrix::checkRegMaskInterference(), llvm::RegisterBank::covers(), llvm::SystemZFrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::PPCRegisterInfo::getCalleeSavedRegsViaCopy(), llvm::ARMBaseRegisterInfo::getReservedRegs(), llvm::rdf::RegisterAggr::hasAliasOf(), llvm::MachineRegisterInfo::isPhysRegModified(), llvm::MachineRegisterInfo::isPhysRegUsed(), llvm::RegScavenger::isRegUsed(), llvm::MachineRegisterInfo::isReserved(), llvm::SIRegisterInfo::isSGPRPressureSet(), llvm::SIRegisterInfo::isVGPRPressureSet(), llvm::WebAssemblyFunctionInfo::isVRegStackified(), llvm::safestack::StackColoring::run(), scavengeStackSlot(), llvm::ScheduleDAGMILive::schedule(), llvm::CriticalAntiDepBreaker::StartBlock(), llvm::AggressiveAntiDepBreaker::StartBlock(), llvm::SmallBitVector::test(), and llvm::MachineFunctionProperties::verifyRequiredProperties().
test - Check if (This - RHS) is zero.
This is the same as reset(RHS) and any().
Definition at line 392 of file BitVector.h.
References llvm::tgtok::Bits, i, fuzzer::min(), and size().
1.8.6