LLVM API Documentation
#include <SmallVector.h>
Inherits llvm::SmallVectorTemplateCommon< T >.
Inherited by llvm::SmallVectorImpl< AnalysisID >, llvm::SmallVectorImpl< Arg * >, llvm::SmallVectorImpl< AttributeSpec >, llvm::SmallVectorImpl< BitTestCase >, llvm::SmallVectorImpl< Block >, llvm::SmallVectorImpl< BlockInterference >, llvm::SmallVectorImpl< ByValInfo >, llvm::SmallVectorImpl< char >, llvm::SmallVectorImpl< const char * >, llvm::SmallVectorImpl< const llvm::MCSymbol * >, llvm::SmallVectorImpl< const llvm::MDNode * >, llvm::SmallVectorImpl< const llvm::SCEV * >, llvm::SmallVectorImpl< const llvm::Value * >, llvm::SmallVectorImpl< const uint32_t * >, llvm::SmallVectorImpl< EHFrameRelatedSections >, llvm::SmallVectorImpl< Entry >, llvm::SmallVectorImpl< FreeList * >, llvm::SmallVectorImpl< IdxMBBPair >, llvm::SmallVectorImpl< InsnRange >, llvm::SmallVectorImpl< Inst >, llvm::SmallVectorImpl< InState >, llvm::SmallVectorImpl< int >, llvm::SmallVectorImpl< intptr_t >, llvm::SmallVectorImpl< ISD::InputArg >, llvm::SmallVectorImpl< ISD::OutputArg >, llvm::SmallVectorImpl< LiveInBlock >, llvm::SmallVectorImpl< llvm::AllocaInst * >, llvm::SmallVectorImpl< llvm::AsmRewrite >, llvm::SmallVectorImpl< llvm::BasicBlock * >, llvm::SmallVectorImpl< llvm::BitCodeAbbrevOp >, llvm::SmallVectorImpl< llvm::BlockFrequency >, llvm::SmallVectorImpl< llvm::CCValAssign >, llvm::SmallVectorImpl< llvm::cl::parser::OptionInfo >, llvm::SmallVectorImpl< llvm::CompileUnit * >, llvm::SmallVectorImpl< llvm::DbgVariable * >, llvm::SmallVectorImpl< llvm::detail::PtrUseVisitorBase::UseToVisit >, llvm::SmallVectorImpl< llvm::DIEAbbrevData >, llvm::SmallVectorImpl< llvm::DIEValue * >, llvm::SmallVectorImpl< llvm::DILineInfo >, llvm::SmallVectorImpl< llvm::DotDebugLocEntry >, llvm::SmallVectorImpl< llvm::DwarfAccelTable::Atom >, llvm::SmallVectorImpl< llvm::DWARFCompileUnit * >, llvm::SmallVectorImpl< llvm::DWARFDebugInfoEntryMinimal >, llvm::SmallVectorImpl< llvm::DWARFTypeUnit * >, llvm::SmallVectorImpl< llvm::GCOVBlock * >, llvm::SmallVectorImpl< llvm::GCOVFunction * >, llvm::SmallVectorImpl< llvm::ImmutablePass * >, llvm::SmallVectorImpl< llvm::Instruction * >, llvm::SmallVectorImpl< llvm::JITEventListener * >, llvm::SmallVectorImpl< llvm::LayoutAlignElem >, llvm::SmallVectorImpl< llvm::LexicalScope * >, llvm::SmallVectorImpl< llvm::LiveInterval * >, llvm::SmallVectorImpl< llvm::LiveRange * >, llvm::SmallVectorImpl< llvm::LiveRange::Segment >, llvm::SmallVectorImpl< llvm::MachineBasicBlock * >, llvm::SmallVectorImpl< llvm::MachineInstr * >, llvm::SmallVectorImpl< llvm::MachineTraceMetrics::FixedBlockInfo >, llvm::SmallVectorImpl< llvm::MachineTraceMetrics::LiveInReg >, llvm::SmallVectorImpl< llvm::MachineTraceMetrics::TraceBlockInfo >, llvm::SmallVectorImpl< llvm::MCFixup >, llvm::SmallVectorImpl< llvm::MCOperand >, llvm::SmallVectorImpl< llvm::MCSectionData * >, llvm::SmallVectorImpl< llvm::MCSymbol * >, llvm::SmallVectorImpl< llvm::MDNode * >, llvm::SmallVectorImpl< llvm::MemoryBuffer * >, llvm::SmallVectorImpl< llvm::MipsTargetLowering::ByValArgInfo >, llvm::SmallVectorImpl< llvm::Module * >, llvm::SmallVectorImpl< llvm::opt::Arg * >, llvm::SmallVectorImpl< llvm::Pass * >, llvm::SmallVectorImpl< llvm::PHINode * >, llvm::SmallVectorImpl< llvm::PMDataManager * >, llvm::SmallVectorImpl< llvm::SDDbgValue * >, llvm::SmallVectorImpl< llvm::SDep >, llvm::SmallVectorImpl< llvm::SDNode * >, llvm::SmallVectorImpl< llvm::SDValue >, llvm::SmallVectorImpl< llvm::SlotIndex >, llvm::SmallVectorImpl< llvm::SmallVector< uint64_t, 64 > >, llvm::SmallVectorImpl< llvm::SmallVector< unsigned, 8 > >, llvm::SmallVectorImpl< llvm::SMFixIt >, llvm::SmallVectorImpl< llvm::SMLoc >, llvm::SmallVectorImpl< llvm::SplitAnalysis::BlockInfo >, llvm::SmallVectorImpl< llvm::TrackingVH< llvm::MDNode > >, llvm::SmallVectorImpl< llvm::Type * >, llvm::SmallVectorImpl< llvm::Value * >, llvm::SmallVectorImpl< llvm::WeakVH >, llvm::SmallVectorImpl< Location >, llvm::SmallVectorImpl< LocationList >, llvm::SmallVectorImpl< MCPhysReg >, llvm::SmallVectorImpl< PhiT * >, llvm::SmallVectorImpl< RegUnitInfo >, llvm::SmallVectorImpl< RelocationValueRef >, llvm::SmallVectorImpl< RootData >, llvm::SmallVectorImpl< ScavengedInfo >, llvm::SmallVectorImpl< SectionEntry >, llvm::SmallVectorImpl< Segment >, llvm::SmallVectorImpl< SID >, llvm::SmallVectorImpl< SimpleKey >, llvm::SmallVectorImpl< SMSNode >, llvm::SmallVectorImpl< std::pair< AnalysisID, llvm::IdentifyingPassPtr > >, llvm::SmallVectorImpl< std::pair< BlockFrequency, unsigned > >, llvm::SmallVectorImpl< std::pair< bool, llvm::StringRef > >, llvm::SmallVectorImpl< std::pair< const char *, std::pair< int, const char * > > >, llvm::SmallVectorImpl< std::pair< const MDNode *, const MDNode * > >, llvm::SmallVectorImpl< std::pair< int, int64_t > >, llvm::SmallVectorImpl< std::pair< llvm::SlotIndex, llvm::SlotIndex > >, llvm::SmallVectorImpl< std::pair< MCSectionSubPair, MCSectionSubPair > >, llvm::SmallVectorImpl< std::pair< SID, SmallVector< RelocationValueRef, 2 > > >, llvm::SmallVectorImpl< std::pair< TrackingVH< MDNode >, UnsignedDebugLocPair > >, llvm::SmallVectorImpl< std::pair< unsigned, llvm::MCFragment * > >, llvm::SmallVectorImpl< std::pair< unsigned, unsigned > >, llvm::SmallVectorImpl< std::string * >, llvm::SmallVectorImpl< std::string >, llvm::SmallVectorImpl< sys::llvm::sys::MemoryBlock >, llvm::SmallVectorImpl< TreeData >, llvm::SmallVectorImpl< uint32_t >, llvm::SmallVectorImpl< uint8_t >, llvm::SmallVectorImpl< uintptr_t >, llvm::SmallVectorImpl< unsigned >, llvm::SmallVectorImpl< unsigned char >, llvm::SmallVectorImpl< ValueT >, llvm::SmallVectorImpl< VersionMapEntry >, llvm::SmallVectorImpl< VNInfo * >, and llvm::SmallVectorImpl< VReg2SUnit >.
Public Member Functions | |
void | push_back (const T &Elt) |
void | pop_back () |
![]() | |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
size_type | size () const |
size_type | max_size () const |
size_t | capacity () const |
pointer | data () |
data - Return a pointer to the vector's buffer, even if empty(). More... | |
const_pointer | data () const |
data - Return a pointer to the vector's buffer, even if empty(). More... | |
reference | operator[] (unsigned idx) |
const_reference | operator[] (unsigned idx) const |
reference | front () |
const_reference | front () const |
reference | back () |
const_reference | back () const |
![]() | |
size_t | size_in_bytes () const |
size_in_bytes - This returns size()*sizeof(T). More... | |
size_t | capacity_in_bytes () const |
capacity_in_bytes - This returns capacity()*sizeof(T). More... | |
bool LLVM_ATTRIBUTE_UNUSED_RESULT | empty () const |
Protected Member Functions | |
SmallVectorTemplateBase (size_t Size) | |
void | grow (size_t MinSize=0) |
![]() | |
SmallVectorTemplateCommon (size_t Size) | |
void | grow_pod (size_t MinSizeInBytes, size_t TSize) |
bool | isSmall () const |
void | resetToSmall () |
resetToSmall - Put this vector in a state of being small. More... | |
void | setEnd (T *P) |
iterator | capacity_ptr () |
const_iterator | capacity_ptr () const |
![]() | |
SmallVectorBase (void *FirstEl, size_t Size) | |
void | grow_pod (void *FirstEl, size_t MinSizeInBytes, size_t TSize) |
Static Protected Member Functions | |
static void | destroy_range (T *S, T *E) |
template<typename It1 , typename It2 > | |
static It2 | move (It1 I, It1 E, It2 Dest) |
template<typename It1 , typename It2 > | |
static It2 | move_backward (It1 I, It1 E, It2 Dest) |
template<typename It1 , typename It2 > | |
static void | uninitialized_move (It1 I, It1 E, It2 Dest) |
template<typename It1 , typename It2 > | |
static void | uninitialized_copy (It1 I, It1 E, It2 Dest) |
Additional Inherited Members | |
![]() | |
typedef size_t | size_type |
typedef ptrdiff_t | difference_type |
typedef T | value_type |
typedef T * | iterator |
typedef const T * | const_iterator |
typedef std::reverse_iterator < const_iterator > | const_reverse_iterator |
typedef std::reverse_iterator < iterator > | reverse_iterator |
typedef T & | reference |
typedef const T & | const_reference |
typedef T * | pointer |
typedef const T * | const_pointer |
![]() | |
void * | BeginX |
void * | EndX |
void * | CapacityX |
SmallVectorTemplateBase<isPodLike = false> - This is where we put method implementations that are designed to work with non-POD-like T's.
Definition at line 170 of file SmallVector.h.
|
inlineprotected |
Definition at line 172 of file SmallVector.h.
|
inlinestaticprotected |
Definition at line 174 of file SmallVector.h.
Referenced by llvm::SmallVectorImpl< std::pair< int, int64_t > >::clear(), llvm::SmallVectorImpl< std::pair< int, int64_t > >::erase(), llvm::SmallVectorTemplateBase< T, isPodLike >::grow(), llvm::SmallVectorImpl< T >::operator=(), llvm::SmallVectorImpl< std::pair< int, int64_t > >::resize(), llvm::SmallVectorImpl< T >::swap(), and llvm::SmallVectorImpl< std::pair< int, int64_t > >::~SmallVectorImpl().
|
protected |
grow - Grow the allocated memory (without initializing new elements), doubling the size of the allocated memory. Guarantees space for at least one more element, or MinSize more elements if specified.
Definition at line 268 of file SmallVector.h.
References llvm::SmallVectorTemplateCommon< T >::begin(), llvm::SmallVectorBase::BeginX, llvm::SmallVectorTemplateCommon< T >::capacity(), llvm::SmallVectorTemplateBase< T, isPodLike >::destroy_range(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::LibFunc::free, llvm::SmallVectorTemplateCommon< T >::isSmall(), llvm::LibFunc::malloc, llvm::NextPowerOf2(), llvm::SmallVectorTemplateCommon< T >::setEnd(), llvm::SmallVectorTemplateCommon< T >::size(), and llvm::SmallVectorTemplateBase< T, isPodLike >::uninitialized_move().
Referenced by llvm::SmallVectorImpl< std::pair< int, int64_t > >::append(), llvm::SmallVectorImpl< std::pair< int, int64_t > >::assign(), llvm::SmallVectorImpl< std::pair< int, int64_t > >::insert(), llvm::SmallVectorImpl< T >::operator=(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::SmallVectorTemplateBase< T, true >::push_back(), llvm::SmallVectorImpl< std::pair< int, int64_t > >::reserve(), llvm::SmallVectorImpl< std::pair< int, int64_t > >::resize(), and llvm::SmallVectorImpl< T >::swap().
|
inlinestaticprotected |
move - Use move-assignment to move the range [I, E) onto the objects starting with "Dest". This is just <memory>'s std::move, but not all stdlibs actually provide that.
Definition at line 185 of file SmallVector.h.
Referenced by llvm::SmallVectorImpl< std::pair< int, int64_t > >::erase().
|
inlinestaticprotected |
move_backward - Use move-assignment to move the range [I, E) onto the objects ending at "Dest", moving objects in reverse order. This is just <algorithm>'s std::move_backward, but not all stdlibs actually provide that.
Definition at line 200 of file SmallVector.h.
Referenced by llvm::SmallVectorImpl< std::pair< int, int64_t > >::insert().
|
inline |
Definition at line 260 of file SmallVector.h.
Referenced by llvm::MachineInstr::addRegisterDead(), llvm::MachineInstr::addRegisterKilled(), advanceToNextLeafType(), BuildSubAggregate(), llvm::SmallString< 256 >::c_str(), llvm::ArrayRecycler< llvm::MachineOperand >::clear(), llvm::yaml::Output::endFlowSequence(), llvm::yaml::Output::endMapping(), llvm::yaml::Output::endSequence(), llvm::SparseSet< unsigned, llvm::VirtReg2IndexFunctor >::erase(), llvm::SmallVectorImpl< std::pair< int, int64_t > >::erase(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::operator--(), llvm::SmallVectorImpl< std::pair< int, int64_t > >::pop_back_val(), llvm::yaml::Output::postflightKey(), llvm::ARMFrameLowering::processFunctionBeforeCalleeSavedScan(), llvm::Instruction::setMetadata(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::skipToParent(), llvm::sys::path::system_temp_directory(), and llvm::Twine::toNullTerminatedStringRef().
|
inline |
Definition at line 236 of file SmallVector.h.
Referenced by llvm::opt::Option::accept(), llvm::opt::ArgList::AddAllArgsTranslated(), llvm::opt::ArgList::AddAllArgValues(), llvm::GCOVBlock::addEdge(), llvm::CCState::addInRegsParamInfo(), llvm::FoldingSetNodeID::AddInteger(), llvm::AddLandingPadInfo(), llvm::GCOVBlock::addLine(), llvm::SpillPlacement::Node::addLink(), llvm::SpillPlacement::addLinks(), llvm::LiveRangeCalc::addLiveInBlock(), llvm::PPCFunctionInfo::addMustSaveCR(), llvm::AnalysisUsage::addPreserved(), llvm::AnalysisUsage::addPreservedID(), llvm::MachineInstr::addRegisterDead(), llvm::MachineInstr::addRegisterKilled(), llvm::AnalysisUsage::addRequiredID(), llvm::AnalysisUsage::addRequiredTransitiveID(), llvm::RegScavenger::addScavengingFrameIndex(), llvm::FoldingSetNodeID::AddString(), llvm::opt::DerivedArgList::AddSynthesizedArg(), advanceToNextLeafType(), llvm::opt::ArgList::append(), llvm::sys::path::append(), llvm::opt::Arg::Arg(), llvm::yaml::Output::beginFlowSequence(), llvm::yaml::Output::beginMapping(), llvm::DwarfDebug::beginModule(), llvm::yaml::Output::beginSequence(), llvm::SSAUpdaterImpl< UpdaterT >::BuildBlockList(), buildFromShuffleMostly(), BuildSubAggregate(), llvm::SmallString< 256 >::c_str(), CheckForLiveRegDef(), CheckForLiveRegDefMasked(), llvm::RegPressureTracker::closeBottom(), llvm::LexicalScope::closeInsnRange(), llvm::RegPressureTracker::closeTop(), llvm::PMDataManager::collectRequiredAnalysis(), llvm::DwarfException::ComputeActionsTable(), llvm::MachObjectWriter::ComputeSymbolTable(), llvm::LiveRange::createDeadDef(), llvm::LiveRange::createValueCopy(), llvm::DecodeINSERTPSMask(), llvm::DecodeMOVHLPSMask(), llvm::DecodeMOVLHPSMask(), llvm::DecodePALIGNRMask(), llvm::DecodePSHUFHWMask(), llvm::DecodePSHUFLWMask(), llvm::DecodePSHUFMask(), llvm::DecodeSHUFPMask(), llvm::DecodeUNPCKHMask(), llvm::DecodeUNPCKLMask(), llvm::DecodeVPERM2X128Mask(), llvm::DecodeVPERMMask(), llvm::RegPressureTracker::discoverLiveIn(), llvm::RegPressureTracker::discoverLiveOut(), llvm::ConnectedVNInfoEqClasses::Distribute(), EmitDarwinBCHeaderAndTrailer(), encodeUTF8(), llvm::BitstreamCursor::EnterSubBlock(), llvm::DIBuilder::finalize(), llvm::finalizeBundle(), llvm::SSAUpdaterImpl< UpdaterT >::FindAvailableVals(), llvm::MachineInstr::findTiedOperandIdx(), llvm::SplitEditor::finish(), firstRealType(), fixupSubprogramName(), llvm::InstCombiner::FoldCmpLoadFromIndexedGlobal(), llvm::ConstantArray::get(), llvm::ConstantVector::get(), llvm::SelectionDAG::getConstant(), llvm::cl::generic_parser_base::getExtraOptionNames(), llvm::Intrinsic::getIntrinsicInfoTableEntries(), llvm::DWARFContext::getLineInfoForAddressRange(), llvm::MCContext::getMachOSection(), llvm::ManagedStringPool::getManagedString(), llvm::Mangler::getNameWithPrefix(), llvm::LiveRange::getNextValue(), GetOptionInfo(), llvm::AMDGPUTargetLowering::getOriginalFunctionArgs(), llvm::ARMBaseRegisterInfo::getRegAllocationHints(), llvm::TargetRegisterInfo::getRegAllocationHints(), GetRegistersForValue(), llvm::GetReturnInfo(), llvm::RegScavenger::getScavengingFrameIndices(), llvm::ShuffleVectorInst::getShuffleMask(), llvm::DataLayout::getStringRepresentation(), getTargetShuffleMask(), getUnderlyingObjectsForInstr(), llvm::yaml::ScalarNode::getValue(), llvm::IntEqClasses::grow(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::ImutAVLTreeGenericIterator(), llvm::SparseSet< unsigned, llvm::VirtReg2IndexFunctor >::insert(), llvm::SmallVectorImpl< std::pair< int, int64_t > >::insert(), llvm::LiveIntervals::insertMBBInMaps(), llvm::SlotIndexes::insertMBBInMaps(), llvm::isPotentiallyReachable(), llvm::SpillPlacement::iterate(), llvm::LiveRange::join(), LookupNearestOption(), llvm::TargetLowering::LowerCallTo(), llvm::LowerDbgDeclare(), llvm::R600TargetLowering::LowerOperation(), llvm::object::MachOObjectFile::MachOObjectFile(), llvm::opt::DerivedArgList::MakeFlagArg(), llvm::opt::InputArgList::MakeIndex(), llvm::opt::DerivedArgList::MakeJoinedArg(), llvm::opt::DerivedArgList::MakePositionalArg(), llvm::opt::DerivedArgList::MakeSeparateArg(), llvm::MachineFrameInfo::mapLocalFrameObject(), llvm::MCDwarfCallFrameFragment::MCDwarfCallFrameFragment(), llvm::MCDwarfLineAddrFragment::MCDwarfLineAddrFragment(), llvm::MCLEBFragment::MCLEBFragment(), llvm::MCStreamer::MCStreamer(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::operator++(), llvm::SmallString< 256 >::operator+=(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::operator--(), llvm::X86InstrInfo::optimizeLoadInstr(), OptimizeVectorResize(), parseBackslash(), ParseFunctionArgs(), llvm::yaml::Output::postflightKey(), llvm::MachineInstr::print(), llvm::ARMFrameLowering::processFunctionBeforeCalleeSavedScan(), promoteSingleBlockAlloca(), RegisterOperands::pushRegUnits(), llvm::MCStreamer::PushSection(), pushValue(), PushValueAndType(), llvm::MachineInstr::readsWritesVirtualRegister(), llvm::RegPressureTracker::recede(), llvm::opt::Arg::render(), llvm::opt::Arg::renderAsInput(), llvm::LiveRange::RenumberValues(), llvm::sys::path::replace_extension(), ReplaceATOMIC_OP_64(), llvm::replaceDbgDeclareForAlloca(), llvm::UnwindOpcodeAssembler::Reset(), llvm::MCStreamer::reset(), RewriteHeapSROALoadUser(), llvm::LiveVariables::runOnMachineFunction(), llvm::SlotIndexes::runOnMachineFunction(), llvm::SpillPlacement::scanActiveBundles(), llvm::RegScavenger::scavengeRegister(), llvm::Instruction::setMetadata(), llvm::StructType::setName(), llvm::MachineModuleInfo::setVariableDbgInfo(), llvm::MachineBasicBlock::SplitCriticalEdge(), SRAGlobal(), llvm::LiveRegUnits::stepForward(), llvm::cl::TokenizeGNUCommandLine(), llvm::cl::TokenizeWindowsCommandLine(), llvm::Twine::toNullTerminatedStringRef(), llvm::APFloat::toString(), llvm::APInt::toString(), TrackDefUses(), llvm::IntEqClasses::uncompress(), llvm::UnwindOpcodeAssembler::UnwindOpcodeAssembler(), updatePhysDepsDownwards(), updatePhysDepsUpwards(), and llvm::cl::ValuesClass< DataType >::ValuesClass().
|
inlinestaticprotected |
uninitialized_copy - Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements as needed.
Definition at line 225 of file SmallVector.h.
Referenced by llvm::SmallVectorImpl< std::pair< int, int64_t > >::insert(), llvm::SmallVectorImpl< T >::operator=(), llvm::SmallVectorImpl< T >::swap(), and llvm::SmallVectorTemplateBase< T, true >::uninitialized_move().
|
inlinestaticprotected |
uninitialized_move - Move the range [I, E) into the uninitialized memory starting with "Dest", constructing elements as needed.
Definition at line 213 of file SmallVector.h.
Referenced by llvm::SmallVectorTemplateBase< T, isPodLike >::grow(), and llvm::SmallVectorImpl< std::pair< int, int64_t > >::insert().