LLVM  13.0.0git
Public Types | Public Member Functions | Protected Types | Protected Member Functions | List of all members
llvm::SmallVectorImpl< T > Class Template Reference

This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter. More...

#include "llvm/ADT/APFloat.h"

Inherited by llvm::SmallVector< T, N >, and llvm::SmallVector< T, 0 >.

Public Types

using iterator = typename SuperClass::iterator
 
using const_iterator = typename SuperClass::const_iterator
 
using reference = typename SuperClass::reference
 
using size_type = typename SuperClass::size_type
 

Public Member Functions

 SmallVectorImpl (const SmallVectorImpl &)=delete
 
 ~SmallVectorImpl ()
 
void clear ()
 
void resize (size_type N)
 
void resize_for_overwrite (size_type N)
 Like resize, but T is POD, the new values won't be initialized. More...
 
void resize (size_type N, ValueParamT NV)
 
void reserve (size_type N)
 
void pop_back_n (size_type NumItems)
 
LLVM_NODISCARDpop_back_val ()
 
void swap (SmallVectorImpl &RHS)
 
template<typename in_iter , typename = std::enable_if_t<std::is_convertible< typename std::iterator_traits<in_iter>::iterator_category, std::input_iterator_tag>::value>>
void append (in_iter in_start, in_iter in_end)
 Add the specified range to the end of the SmallVector. More...
 
void append (size_type NumInputs, ValueParamT Elt)
 Append NumInputs copies of Elt to the end. More...
 
void append (std::initializer_list< T > IL)
 
void append (const SmallVectorImpl &RHS)
 
void assign (size_type NumElts, ValueParamT Elt)
 
template<typename in_iter , typename = std::enable_if_t<std::is_convertible< typename std::iterator_traits<in_iter>::iterator_category, std::input_iterator_tag>::value>>
void assign (in_iter in_start, in_iter in_end)
 
void assign (std::initializer_list< T > IL)
 
void assign (const SmallVectorImpl &RHS)
 
iterator erase (const_iterator CI)
 
iterator erase (const_iterator CS, const_iterator CE)
 
iterator insert (iterator I, T &&Elt)
 
iterator insert (iterator I, const T &Elt)
 
iterator insert (iterator I, size_type NumToInsert, ValueParamT Elt)
 
template<typename ItTy , typename = std::enable_if_t<std::is_convertible< typename std::iterator_traits<ItTy>::iterator_category, std::input_iterator_tag>::value>>
iterator insert (iterator I, ItTy From, ItTy To)
 
void insert (iterator I, std::initializer_list< T > IL)
 
template<typename... ArgTypes>
reference emplace_back (ArgTypes &&... Args)
 
SmallVectorImploperator= (const SmallVectorImpl &RHS)
 
SmallVectorImploperator= (SmallVectorImpl &&RHS)
 
bool operator== (const SmallVectorImpl &RHS) const
 
bool operator!= (const SmallVectorImpl &RHS) const
 
bool operator< (const SmallVectorImpl &RHS) const
 

Protected Types

using ValueParamT = typename SuperClass::ValueParamT
 

Protected Member Functions

 SmallVectorImpl (unsigned N)
 

Detailed Description

template<typename T>
class llvm::SmallVectorImpl< T >

This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter.

Definition at line 43 of file APFloat.h.

Member Typedef Documentation

◆ const_iterator

template<typename T >
using llvm::SmallVectorImpl< T >::const_iterator = typename SuperClass::const_iterator

Definition at line 563 of file SmallVector.h.

◆ iterator

template<typename T >
using llvm::SmallVectorImpl< T >::iterator = typename SuperClass::iterator

Definition at line 562 of file SmallVector.h.

◆ reference

template<typename T >
using llvm::SmallVectorImpl< T >::reference = typename SuperClass::reference

Definition at line 564 of file SmallVector.h.

◆ size_type

template<typename T >
using llvm::SmallVectorImpl< T >::size_type = typename SuperClass::size_type

Definition at line 565 of file SmallVector.h.

◆ ValueParamT

template<typename T >
using llvm::SmallVectorImpl< T >::ValueParamT = typename SuperClass::ValueParamT
protected

Definition at line 569 of file SmallVector.h.

Constructor & Destructor Documentation

◆ SmallVectorImpl() [1/2]

template<typename T >
llvm::SmallVectorImpl< T >::SmallVectorImpl ( unsigned  N)
inlineexplicitprotected

Definition at line 572 of file SmallVector.h.

◆ SmallVectorImpl() [2/2]

template<typename T >
llvm::SmallVectorImpl< T >::SmallVectorImpl ( const SmallVectorImpl< T > &  )
delete

◆ ~SmallVectorImpl()

template<typename T >
llvm::SmallVectorImpl< T >::~SmallVectorImpl ( )
inline

Definition at line 578 of file SmallVector.h.

Member Function Documentation

◆ append() [1/4]

template<typename T >
void llvm::SmallVectorImpl< T >::append ( const SmallVectorImpl< T > &  RHS)
inline

◆ append() [2/4]

template<typename T >
template<typename in_iter , typename = std::enable_if_t<std::is_convertible< typename std::iterator_traits<in_iter>::iterator_category, std::input_iterator_tag>::value>>
void llvm::SmallVectorImpl< T >::append ( in_iter  in_start,
in_iter  in_end 
)
inline

Add the specified range to the end of the SmallVector.

Definition at line 648 of file SmallVector.h.

Referenced by llvm::opt::ArgList::AddAllArgValues(), addAllGlobalValueUsers(), llvm::MachineInstr::addMemOperand(), llvm::FoldingSetNodeID::AddNodeID(), llvm::FoldingSetNodeID::AddString(), llvm::CodeViewContext::addToStringTable(), llvm::DebugLocEntry::addValues(), analyzeLoopUnrollCost(), llvm::SmallString< 256 >::append(), llvm::sys::path::append(), llvm::SmallVectorImpl< llvm::VectorizationFactor >::append(), llvm::RegsForValue::append(), llvm::DIExpression::append(), llvm::Record::appendAssertions(), llvm::appendReversedLoopsToWorklist(), llvm::DIExpression::appendToStack(), llvm::DIExpression::ExprOperand::appendToVector(), appendVGScaledOffsetExpr(), llvm::SmallVectorImpl< llvm::VectorizationFactor >::assign(), checkDependencies(), llvm::MachineInstr::cloneMergedMemRefs(), collectConcatOps(), llvm::PMTopLevelManager::collectLastUses(), combineHorizOpWithShuffle(), combineToExtendBoolVectorInReg(), combineX86ShufflesRecursively(), llvm::concatenateVectors(), llvm::ConstantFoldGetElementPtr(), convertImageAddrToPacked(), createMMXBuildVector(), llvm::OpenMPIRBuilder::createParallel(), llvm::DecodeEXTRQIMask(), llvm::DecodeINSERTQIMask(), llvm::DecodeVectorBroadcast(), llvm::DecodeZeroExtendMask(), llvm::DecodeZeroMoveLowMask(), deleteDeadBlocksFromLoop(), eraseDeadBBsAndChildren(), llvm::cl::expandResponseFiles(), llvm::DIBuilder::finalizeSubprogram(), llvm::FindInsertedValue(), FixIrreducibleImpl(), llvm::LiveRange::flushSegmentSet(), foldCONCAT_VECTORS(), llvm::X86InstrInfo::foldMemoryOperandImpl(), llvm::formLCSSAForInstructions(), llvm::ScalarEvolution::getAddExpr(), getConstVector(), llvm::DominatorTreeBase< BasicBlock, IsPostDom >::getDescendants(), getFauxShuffleMask(), getHostID(), llvm::LoopBase< BasicBlock, Loop >::getInnerLoopsInPreorder(), llvm::LoopInfoBase< BasicBlock, Loop >::getLoopsInPreorder(), llvm::LoopInfoBase< BasicBlock, Loop >::getLoopsInReverseSiblingPreorder(), llvm::ScalarEvolution::getMinMaxExpr(), llvm::ScalarEvolution::getMulExpr(), getNoopInput(), llvm::AArch64RegisterInfo::getOffsetOpcodes(), getSalvageOpsForBinOp(), llvm::ConstantDataArray::getString(), getTargetConstantBitsFromNode(), llvm::hasPartialIVCondition(), llvm::SDNode::hasPredecessorHelper(), llvm::DebugHandlerBase::identifyScopeMarkers(), llvm::InformationCache::initializeModuleSlice(), llvm::InlineFunction(), llvm::opt::InputArgList::InputArgList(), llvm::sroa::AllocaSlices::insert(), llvm::SmallVectorImpl< llvm::VectorizationFactor >::insert(), llvm::MemorySSAUpdater::insertDef(), llvm::LazyCallGraph::RefSCC::insertIncomingRefEdge(), isHorizontalBinOp(), llvm::isPotentiallyReachable(), llvm::isPotentiallyReachableFromMany(), IsValueFullyAvailableInBlock(), llvm::TargetLowering::LowerCallTo(), llvm::SITargetLowering::LowerFormalArguments(), lowerShuffleOfExtractsAsVperm(), lowerStatepointMetaArgs(), llvm::makePostTransformationMetadata(), moveBelowOrigChain(), optimizeVectorResizeWithIntegerBitCasts(), llvm::R600TargetLowering::PerformDAGCombine(), llvm::BitstreamCursor::readRecord(), llvm::LegalizerHelper::reduceOperationWidth(), llvm::LazyCallGraph::RefSCC::removeInternalRefEdge(), llvm::opt::Arg::render(), llvm::opt::Arg::renderAsInput(), llvm::sys::path::replace_extension(), ReplaceINTRINSIC_W_CHAIN(), llvm::SmallVectorImpl< llvm::VectorizationFactor >::resize(), resolveTypeIndexReferences(), RewriteHeapSROALoadUser(), llvm::LoopFullUnrollPass::run(), searchPredecessors(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::EngineBuilder::setMAttrs(), SimplifyAddOperands(), llvm::simplifyLoop(), llvm::SmallVector< llvm::cl::parser::OptionInfo, 8 >::SmallVector(), llvm::detail::IEEEFloat::toString(), llvm::APInt::toString(), llvm::LegalizationArtifactCombiner::tryCombineUnmergeValues(), llvm::LegalizationArtifactCombiner::tryFoldUnmergeCast(), tryPromoteAllocaToVector(), llvm::SelectionDAG::UnrollVectorOverflowOp(), llvm::ScalarEvolution::verify(), and llvm::InstCombinerImpl::visitGetElementPtrInst().

◆ append() [3/4]

template<typename T >
void llvm::SmallVectorImpl< T >::append ( size_type  NumInputs,
ValueParamT  Elt 
)
inline

Append NumInputs copies of Elt to the end.

Definition at line 657 of file SmallVector.h.

◆ append() [4/4]

template<typename T >
void llvm::SmallVectorImpl< T >::append ( std::initializer_list< T >  IL)
inline

Definition at line 663 of file SmallVector.h.

◆ assign() [1/4]

template<typename T >
void llvm::SmallVectorImpl< T >::assign ( const SmallVectorImpl< T > &  RHS)
inline

◆ assign() [2/4]

template<typename T >
template<typename in_iter , typename = std::enable_if_t<std::is_convertible< typename std::iterator_traits<in_iter>::iterator_category, std::input_iterator_tag>::value>>
void llvm::SmallVectorImpl< T >::assign ( in_iter  in_start,
in_iter  in_end 
)
inline

Definition at line 692 of file SmallVector.h.

◆ assign() [3/4]

template<typename T >
void llvm::SmallVectorImpl< T >::assign ( size_type  NumElts,
ValueParamT  Elt 
)
inline

◆ assign() [4/4]

template<typename T >
void llvm::SmallVectorImpl< T >::assign ( std::initializer_list< T >  IL)
inline

Definition at line 698 of file SmallVector.h.

◆ clear()

template<typename T >
void llvm::SmallVectorImpl< T >::clear ( )
inline

Definition at line 585 of file SmallVector.h.

Referenced by llvm::PMDataManager::add(), addHints(), llvm::LiveIntervals::addKillFlags(), llvm::LanaiInstrInfo::analyzeBranch(), llvm::SystemZCCState::AnalyzeCallOperands(), llvm::MipsCCState::AnalyzeCallOperands(), llvm::MipsCCState::AnalyzeCallResult(), llvm::SystemZCCState::AnalyzeFormalArguments(), llvm::MipsCCState::AnalyzeFormalArguments(), analyzeLoopUnrollCost(), llvm::MipsCCState::AnalyzeReturn(), llvm::appendReversedLoopsToWorklist(), llvm::SmallVectorImpl< llvm::VectorizationFactor >::assign(), BatchCommitValueTo(), llvm::codeview::ContinuationRecordBuilder::begin(), llvm::SSAUpdaterImpl< UpdaterT >::BuildBlockList(), llvm::MachineDominatorTree::calculate(), CC_ARM_AAPCS_Custom_Aggregate(), CC_RISCV(), checkDependencies(), llvm::MipsCCState::CheckReturn(), llvm::ConstantHoistingPass::cleanup(), llvm::IndexedMap< unsigned, llvm::VirtReg2IndexFunctor >::clear(), llvm::GISelWorkList< 8 >::clear(), llvm::SpillPlacement::Node::clear(), llvm::ArrayRecycler< MachineOperand >::clear(), llvm::AssumptionCache::clear(), llvm::ARMBasicBlockUtils::clear(), llvm::SDDbgInfo::clear(), llvm::FunctionLoweringInfo::clear(), llvm::SparseSet< RootData >::clear(), llvm::LiveRange::clear(), llvm::SparseMultiSet< VReg2SUnit, VirtReg2IndexFunctor >::clear(), llvm::DomTreeNodeBase< VPBlockBase >::clearAllChildren(), llvm::CCState::clearByValRegsInfo(), llvm::VPBlockBase::clearPredecessors(), llvm::VPBlockBase::clearSuccessors(), llvm::PPCCCState::clearWasPPCF128(), ScopedAliasMetadataDeepCloner::clone(), llvm::ScalarEvolution::computeAccessFunctions(), computeVariableSummary(), llvm::convertUTF8ToUTF16String(), llvm::DecodeVPPERMMask(), llvm::ConnectedVNInfoEqClasses::Distribute(), llvm::AsmPrinter::doFinalization(), doPromotion(), llvm::ehAwareSplitEdge(), llvm::remarks::BitstreamRemarkSerializerHelper::emitMetaBlock(), llvm::remarks::BitstreamRemarkSerializerHelper::emitMetaExternalFile(), llvm::remarks::BitstreamRemarkSerializerHelper::emitMetaRemarkVersion(), llvm::remarks::BitstreamRemarkSerializerHelper::emitMetaStrTab(), llvm::remarks::BitstreamRemarkSerializerHelper::emitRemarkBlock(), llvm::CodeViewContext::encodeDefRange(), llvm::CodeViewContext::encodeInlineLineTable(), llvm::ARMTargetLowering::ExpandInlineAsm(), llvm::X86TargetLowering::ExpandInlineAsm(), llvm::LegalizerHelper::fewerElementsVectorMultiEltType(), llvm::LegalizerHelper::fewerElementsVectorPhi(), llvm::OpenMPIRBuilder::finalize(), llvm::finalizeBundle(), llvm::CodeExtractor::findAllocas(), llvm::ScalarEvolution::findArrayDimensions(), llvm::SampleProfileLoaderBaseImpl< BT >::findEquivalenceClasses(), llvm::DirectedGraph< NodeType, EdgeType >::findIncomingEdgesToNode(), llvm::SplitEditor::finish(), finishStackBlock(), llvm::RecordStreamer::flushSymverDirectives(), llvm::remarks::BitstreamRemarkSerializerHelper::flushToStream(), llvm::formDedicatedExitBlocks(), llvm::formLCSSAForInstructions(), llvm::RISCVMatInt::generateInstSeq(), llvm::ScalarEvolution::getAddExpr(), getAdjustedPtr(), llvm::RegsForValue::getCopyFromRegs(), llvm::TargetSubtargetInfo::getCriticalPathRCs(), llvm::pdb::DIARawSymbol::getDataBytes(), llvm::pdb::NativeRawSymbol::getDataBytes(), getFauxShuffleMask(), getHostID(), llvm::ScalarEvolution::getIndexExpressionsFromGEP(), llvm::unittest::getInputFileDirectory(), getLiveInRegsAt(), llvm::getLiveRegMap(), getMemmoveLoadsAndStores(), llvm::internal::NfaTranscriber::getPaths(), llvm::LoopNest::getPerfectLoops(), llvm::X86RegisterInfo::getRegAllocationHints(), llvm::GetShadowBytes(), llvm::getUnderlyingObjectsForCodeGen(), getUnderlyingObjectsForInstr(), llvm::AMDGPU::getUsedList(), llvm::yaml::ScalarNode::getValue(), llvm::FunctionLoweringInfo::getValueFromVirtualReg(), llvm::MipsCallLowering::MipsHandler::handle(), llvm::InlineFunction(), llvm::MemorySSAUpdater::insertDef(), insertSpills(), isHorizontalBinOp(), IsValueFullyAvailableInBlock(), isVectorPromotionViable(), llvm::SpillPlacement::iterate(), llvm::X86CallLowering::lowerCall(), llvm::ARMCallLowering::lowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCONCAT_VECTORS(), llvm::NVPTXTargetLowering::LowerReturn(), lowerV4X128Shuffle(), makeAllConstantUsesInstructions(), makeStatepointExplicitImpl(), llvm::Regex::match(), mergeConstants(), moveBelowOrigChain(), llvm::narrowShuffleMaskElts(), llvm::SmallVectorImpl< llvm::VectorizationFactor >::operator=(), parseOperands(), llvm::yaml::Scanner::peekNext(), llvm::PeelingModuloScheduleExpander::peelPrologAndEpilogs(), llvm::SpillPlacement::prepare(), llvm::sampleprof::SampleProfileReaderText::readImpl(), llvm::RuntimeDyldELF::registerEHFrames(), llvm::RuntimeDyldCOFFX86_64::registerEHFrames(), llvm::ReachingDefAnalysis::releaseMemory(), llvm::MachineDominatorTree::releaseMemory(), llvm::LiveIntervals::releaseMemory(), llvm::SlotIndexes::releaseMemory(), removeRedundantBlockingStores(), llvm::LiveRange::RenumberValues(), reorderSubVector(), llvm::UnwindOpcodeAssembler::Reset(), llvm::internal::NfaTranscriber::reset(), llvm::BumpPtrAllocatorImpl< MallocAllocator, 65536 >::Reset(), llvm::MCLOHContainer::reset(), llvm::LiveRangeCalc::reset(), llvm::HexagonShuffler::reset(), llvm::DataLayout::reset(), llvm::MCStreamer::reset(), llvm::RuntimePointerChecking::reset(), llvm::MCContext::reset(), llvm::SchedRemainder::reset(), llvm::SchedBoundary::reset(), llvm::DominatorTreeBase< BasicBlock, IsPostDom >::reset(), llvm::MCDwarfLineTableHeader::resetFileTable(), llvm::BitcodeReaderValueList::resolveConstantForwardRefs(), resolveTypeIndexReferences(), llvm::AlwaysInlinerPass::run(), llvm::LoadAndStorePromoter::run(), llvm::SpillPlacement::scanActiveBundles(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::FileRemover::setFile(), llvm::SwiftErrorValueTracking::setFunction(), llvm::EngineBuilder::setMAttrs(), llvm::IntervalMapImpl::Path::setRoot(), SimplifyAddOperands(), simplifyLoopInst(), llvm::InnerLoopVectorizer::sinkScalarOperands(), llvm::InstCombinerImpl::SliceUpIllegalIntegerPHI(), llvm::AbstractDependenceGraphBuilder< DataDependenceGraph >::sortNodesTopologically(), llvm::sortPtrAccesses(), llvm::SplitKnownCriticalEdge(), stripDeadDebugInfoImpl(), llvm::LazyCallGraph::RefSCC::switchInternalEdgeToRef(), llvm::RegBankSelect::RepairingPlacement::switchTo(), llvm::unittest::TempDir::TempDir(), llvm::unittest::TempFile::TempFile(), llvm::unittest::TempLink::TempLink(), llvm::cl::TokenizeGNUCommandLine(), unswitchNontrivialInvariants(), llvm::BlockFrequencyInfoImplBase::updateLoopWithIrreducible(), llvm::HexagonShuffler::ValidResourceUsage(), llvm::ValueEnumerator::ValueEnumerator(), llvm::MemorySSA::verifyOrderingDominationAndDefUses(), llvm::InstCombinerImpl::visitShuffleVectorInst(), llvm::widenShuffleMaskElts(), and llvm::yaml::yaml2ObjectFile().

◆ emplace_back()

template<typename T >
template<typename... ArgTypes>
reference llvm::SmallVectorImpl< T >::emplace_back ( ArgTypes &&...  Args)
inline

Definition at line 908 of file SmallVector.h.

Referenced by llvm::OpenMPIRBuilder::addAttributes(), addEdge(), llvm::mca::MemoryGroup::addSuccessor(), llvm::MachO::Symbol::addTarget(), llvm::mca::Scheduler::analyzeDataDependencies(), llvm::Annotations::Annotations(), llvm::SwitchCG::SwitchLowering::buildBitTests(), llvm::VPlanSlp::buildGraph(), llvm::calculateClrEHStateNumbers(), llvm::PatternMatch::undef_match::check(), cloneInstructionInExitBlock(), collectFrameAllocas(), llvm::sys::commandLineFitsWithinSystemLimits(), computeImportForFunction(), computeImportForReferencedGlobals(), costAndCollectOperands(), llvm::CallBase::Create(), llvm::objcarc::createCallInstWithColors(), createImportedModule(), llvm::AbstractDependenceGraphBuilder< DataDependenceGraph >::createPiBlocks(), WidenIV::createWideIV(), DbgGatherEqualValues(), eliminateConstraints(), llvm::NVPTXTargetStreamer::emitDwarfFileDirective(), llvm::AsmPrinter::emitFunctionBody(), llvm::WebAssemblyAsmPrinter::EmitProducerInfo(), llvm::PseudoProbeHandler::emitPseudoProbe(), llvm::X86::fillValidCPUArchList(), llvm::RISCV::fillValidCPUArchList(), llvm::RISCV::fillValidTuneCPUArchList(), llvm::X86::fillValidTuneCPUList(), llvm::PeelingModuloScheduleExpander::filterInstructions(), llvm::TernOpInit::Fold(), llvm::InstCombinerImpl::foldAggregateConstructionIntoAggregateReuse(), llvm::FoldBranchToCommonDest(), llvm::InstCombinerImpl::foldIntegerTypedPHI(), llvm::AttributeList::get(), llvm::LoopBase< BasicBlock, Loop >::getExitEdges(), llvm::CallBase::getOperandBundlesAsDefs(), llvm::X86MachineFunctionInfo::getPreallocatedIdForCallSite(), llvm::CallLowering::getReturnInfo(), llvm::SelectionDAG::getTokenFactor(), llvm::slpvectorizer::BoUpSLP::getVectorElementSize(), getWorklist(), llvm::SelectionDAGBuilder::handleDebugValue(), llvm::MIRParserImpl::initializeCallSiteInfo(), llvm::InlineFunction(), llvm::TargetPassConfig::insertPass(), llvm::LazyCallGraph::RefSCC::insertTrivialCallEdge(), llvm::LazyCallGraph::RefSCC::insertTrivialRefEdge(), llvm::SCEVExpander::isHighCostExpansion(), isLoadCombineCandidate(), isOnlyCopiedFromConstantMemory(), IsValueFullyAvailableInBlock(), LinearizeExprTree(), llvm::CombinerHelper::matchCombineUnmergeConstant(), matchIntrinsicType(), mergeEmptyReturnBlocks(), llvm::json::OStream::OStream(), populateEHOperandBundle(), llvm::JumpThreadingPass::processThreadableEdges(), llvm::PassInstrumentation::pushBeforeNonSkippedPassCallback(), llvm::PassInstrumentationCallbacks::registerAfterAnalysisCallback(), llvm::PassInstrumentationCallbacks::registerAfterPassCallback(), llvm::PassInstrumentationCallbacks::registerAfterPassInvalidatedCallback(), llvm::PassInstrumentationCallbacks::registerBeforeAnalysisCallback(), llvm::PassInstrumentationCallbacks::registerBeforeNonSkippedPassCallback(), llvm::PassInstrumentationCallbacks::registerBeforeSkippedPassCallback(), llvm::PassInstrumentationCallbacks::registerShouldRunOptionalPassCallback(), llvm::CallBase::removeOperandBundle(), llvm::SCEVExpander::replaceCongruentIVs(), replaceExitCond(), llvm::rewriteLoopExitValues(), llvm::PeelingModuloScheduleExpander::rewriteUsesOf(), llvm::MachineFunction::setVariableDbgInfo(), llvm::JumpThreadingPass::simplifyPartiallyRedundantLoad(), llvm::SplitIndirectBrCriticalEdges(), llvm::CallLowering::splitToValueTypes(), llvm::DbgValueHistoryMap::startClobber(), llvm::DbgValueHistoryMap::startDbgValue(), llvm::yaml::MappingTraits< const InterfaceFile * >::NormalizedTBD::synthesizeTargets(), llvm::OpenMPIRBuilder::tileLoops(), llvm::UnrollAndJamLoop(), unswitchNontrivialInvariants(), updateIDTMetaData(), llvm::PeelingModuloScheduleExpander::validateAgainstModuloScheduleExpander(), WidenIV::widenIVUse(), and WidenIV::widenWithVariantUse().

◆ erase() [1/2]

template<typename T >
iterator llvm::SmallVectorImpl< T >::erase ( const_iterator  CI)
inline

Definition at line 705 of file SmallVector.h.

Referenced by collectMultiplyFactors(), llvm::mca::ResourceManager::cycleEvent(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::ScalarEvolution::findArrayDimensions(), llvm::LiveRangeUpdater::flush(), llvm::MCSection::flushPendingLabels(), llvm::ScalarEvolution::getAddExpr(), llvm::ScalarEvolution::getMinMaxExpr(), llvm::ScalarEvolution::getMulExpr(), getNaturalGEPWithType(), getTargetConstantBitsFromNode(), llvm::SelectionDAG::getTokenFactor(), llvm::OuterAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs >::Result::invalidate(), isVectorPromotionViable(), llvm::LiveRange::join(), llvm::MCAsmLexer::Lex(), LinearizeExprTree(), lowerV16I8Shuffle(), lowerV8I16GeneralSingleInputShuffle(), makeAbsolute(), llvm::LiveRange::MergeValueNumberInto(), OptimizeAndOrXor(), llvm::performOptimizedStructLayout(), populateExternalRelations(), llvm::LegacyInlinerBase::removeDeadFunctions(), llvm::LazyCallGraph::RefSCC::removeInternalRefEdge(), llvm::DirectedGraph< NodeType, EdgeType >::removeNode(), llvm::GISelObserverWrapper::removeObserver(), RemovePreallocated(), removeRegLanes(), llvm::LiveRange::removeSegment(), llvm::LiveRange::removeValNo(), llvm::Record::removeValue(), replaceConstantExprOp(), llvm::BumpPtrAllocatorImpl< MallocAllocator, 65536 >::Reset(), llvm::AlwaysInlinerPass::run(), sortGlobalExprs(), llvm::DebugLocEntry::sortUniqueValues(), llvm::LazyCallGraph::RefSCC::switchInternalEdgeToCall(), llvm::LazyCallGraph::RefSCC::switchInternalEdgeToRef(), llvm::BlockFrequencyInfoImplBase::updateLoopWithIrreducible(), and llvm::InstCombinerImpl::visitLandingPadInst().

◆ erase() [2/2]

template<typename T >
iterator llvm::SmallVectorImpl< T >::erase ( const_iterator  CS,
const_iterator  CE 
)
inline

Definition at line 719 of file SmallVector.h.

◆ insert() [1/5]

template<typename T >
iterator llvm::SmallVectorImpl< T >::insert ( iterator  I,
const T &  Elt 
)
inline

Definition at line 777 of file SmallVector.h.

◆ insert() [2/5]

template<typename T >
template<typename ItTy , typename = std::enable_if_t<std::is_convertible< typename std::iterator_traits<ItTy>::iterator_category, std::input_iterator_tag>::value>>
iterator llvm::SmallVectorImpl< T >::insert ( iterator  I,
ItTy  From,
ItTy  To 
)
inline

Definition at line 846 of file SmallVector.h.

◆ insert() [3/5]

template<typename T >
iterator llvm::SmallVectorImpl< T >::insert ( iterator  I,
size_type  NumToInsert,
ValueParamT  Elt 
)
inline

Definition at line 781 of file SmallVector.h.

◆ insert() [4/5]

template<typename T >
void llvm::SmallVectorImpl< T >::insert ( iterator  I,
std::initializer_list< T >  IL 
)
inline

Definition at line 904 of file SmallVector.h.

◆ insert() [5/5]

template<typename T >
iterator llvm::SmallVectorImpl< T >::insert ( iterator  I,
T &&  Elt 
)
inline

◆ operator!=()

template<typename T >
bool llvm::SmallVectorImpl< T >::operator!= ( const SmallVectorImpl< T > &  RHS) const
inline

Definition at line 925 of file SmallVector.h.

◆ operator<()

template<typename T >
bool llvm::SmallVectorImpl< T >::operator< ( const SmallVectorImpl< T > &  RHS) const
inline

Definition at line 929 of file SmallVector.h.

◆ operator=() [1/2]

template<typename T >
SmallVectorImpl< T > & llvm::SmallVectorImpl< T >::operator= ( const SmallVectorImpl< T > &  RHS)

◆ operator=() [2/2]

template<typename T >
SmallVectorImpl< T > & llvm::SmallVectorImpl< T >::operator= ( SmallVectorImpl< T > &&  RHS)

Definition at line 1020 of file SmallVector.h.

◆ operator==()

template<typename T >
bool llvm::SmallVectorImpl< T >::operator== ( const SmallVectorImpl< T > &  RHS) const
inline

Definition at line 921 of file SmallVector.h.

◆ pop_back_n()

template<typename T >
void llvm::SmallVectorImpl< T >::pop_back_n ( size_type  NumItems)
inline

◆ pop_back_val()

template<typename T >
LLVM_NODISCARD T llvm::SmallVectorImpl< T >::pop_back_val ( )
inline

Definition at line 635 of file SmallVector.h.

Referenced by addAllGlobalValueUsers(), addBlockAndPredsToSet(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), allUsersAreInFunction(), analyzeLoopUnrollCost(), llvm::appendReversedLoopsToWorklist(), llvm::SSAUpdaterImpl< UpdaterT >::BuildBlockList(), buildClonedLoops(), buildMultiplyTree(), llvm::calculateClrEHStateNumbers(), canonicalizePHIOperands(), canPaddingBeAccessed(), llvm::PatternMatch::undef_match::check(), llvm::Attributor::checkForAllUses(), llvm::SSAUpdaterImpl< UpdaterT >::CheckIfPHIMatches(), checkMixedPrecision(), CleanupConstantGlobalUsers(), clearAssumptionsOfUsers(), llvm::InnerLoopVectorizer::clearReductionWrapFlags(), cloneLoopNest(), llvm::OpenMPIRBuilder::OutlineInfo::collectBlocks(), collectCastsToIgnore(), collectEHScopeMembers(), collectHomogenousInstGraphLoopInvariants(), collectLeaves(), collectTransitivePredecessors(), llvm::colorEHFunclets(), combineOrCmpEqZeroToCtlzSrl(), combineRedundantDWordShuffle(), llvm::FunctionComparator::compare(), computeBlocksDominatingExits(), ComputeImportForModule(), ComputeLiveInBlocks(), llvm::computeMinimumValueSizes(), llvm::slpvectorizer::BoUpSLP::computeMinimumValueSizes(), ComputePostOrders(), computeUnlikelySuccessors(), ConstHasGlobalValuePredicate(), deleteDeadBlocksFromLoop(), llvm::ARMFrameLowering::determineCalleeSaves(), determinePointerReadAttrs(), llvm::SMSchedule::earliestCycleInChain(), EmitAddTreeOfValues(), eraseDeadBBsAndChildren(), llvm::InstructionSelector::executeMatchTable(), llvm::findAllocaForValue(), findDependencies(), llvm::MustBeExecutedContextExplorer::findForwardJoinPoint(), llvm::FindFunctionBackedges(), findProfitablePHIs(), findRefEdges(), llvm::slpvectorizer::BoUpSLP::findRootOrder(), FixIrreducibleImpl(), llvm::InstCombinerImpl::foldAllocaCmp(), llvm::ScalarEvolution::forgetLoop(), llvm::ScalarEvolution::forgetValue(), llvm::formLCSSAForInstructions(), llvm::FunctionComparator::functionHash(), getBaseType(), llvm::RegionInfoBase< RegionTraits< Function > >::getCommonRegion(), llvm::getConstantVRegValWithLookThrough(), llvm::DominatorTreeBase< BasicBlock, IsPostDom >::getDescendants(), llvm::LoopBase< BasicBlock, Loop >::getInnerLoopsInPreorder(), llvm::MemoryDependenceResults::getInvariantGroupPointerDependency(), llvm::LoopInfoBase< BasicBlock, Loop >::getLoopsInReverseSiblingPreorder(), llvm::SystemZRegisterInfo::getRegAllocationHints(), llvm::getUnderlyingObjects(), llvm::getUnderlyingObjectsForCodeGen(), getUnwindDestToken(), getUnwindDestTokenHelper(), llvm::slpvectorizer::BoUpSLP::getVectorElementSize(), HandleMergeInputChains(), hasCallsInBlocksBetween(), hasHardUserWithinLoop(), llvm::hasPartialIVCondition(), llvm::SDNode::hasPredecessorHelper(), llvm::HexagonMCShuffle(), llvm::DebugHandlerBase::identifyScopeMarkers(), llvm::InformationCache::initializeModuleSlice(), llvm::LazyCallGraph::RefSCC::insertIncomingRefEdge(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertReachable(), llvm::MachineTraceMetrics::Ensemble::invalidate(), isAllocSiteRemovable(), llvm::LazyCallGraph::SCC::isAncestorOf(), llvm::LazyCallGraph::RefSCC::isAncestorOf(), isBlockValidForExtraction(), isEphemeralValueOf(), llvm::SCEVExpander::isHighCostExpansion(), isKnownNonNullFromDominatingCondition(), isLeakCheckerRoot(), isLoadCombineCandidate(), isNonEscapingGlobalNoAliasWithLoad(), isObjectSizeLessThanOrEq(), isOnlyCopiedFromConstantMemory(), llvm::isPotentiallyReachableFromMany(), isReachableAmongDominated(), isSafeToSpeculatePHIUsers(), IsStoredObjCPointer(), isSuccOrder(), llvm::object::WasmSectionOrderChecker::isValidSectionOrder(), IsValueFullyAvailableInBlock(), llvm::SMSchedule::latestCycleInChain(), llvm::Legalizer::legalizeMachineFunction(), LinearizeExprTree(), llvm::LowerDbgDeclare(), markAliveBlocks(), markTails(), llvm::InstCombinerImpl::matchBSwapOrBitReverse(), memoryIsNotModifiedBetween(), mustExecuteUBIfPoisonOnPathTo(), llvm::PHITransAddr::PHITranslateWithInsertion(), llvm::PointerMayBeCaptured(), llvm::BasicAAResult::pointsToConstantMemory(), llvm::GISelWorkList< 8 >::pop_back_val(), llvm::SparseSet< RootData >::pop_back_val(), llvm::GraphDiff< NodePtr, InverseGraph >::popUpdateForIncrementalUpdates(), prepareICWorklistFromFunction(), llvm::AlignmentFromAssumptionsPass::processAssumption(), processHeaderPhiOperands(), rebuildLoopAfterUnswitch(), recomputeLoopBlockSet(), llvm::RecursivelyDeleteTriviallyDeadInstructions(), llvm::SelectionDAG::RemoveDeadNodes(), llvm::LazyCallGraph::RefSCC::removeInternalRefEdge(), llvm::InstCombineWorklist::removeOne(), replaceConstantExprOp(), rewriteNonInstructionUses(), llvm::LoopSinkPass::run(), llvm::TruncInstCombine::run(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runDFS(), llvm::LoopVectorizePass::runImpl(), searchPredecessors(), llvm::LoopVectorizationCostModel::setCostBasedWideningDecision(), llvm::SUnit::setDepthDirty(), llvm::SUnit::setHeightDirty(), llvm::simplifyLoop(), llvm::simplifyLoopAfterUnroll(), sinkSpillUsesAfterCoroBegin(), llvm::LazyCallGraph::RefSCC::switchInternalEdgeToCall(), llvm::LazyCallGraph::RefSCC::switchInternalEdgeToRef(), llvm::LegalizationArtifactCombiner::tryCombineInstruction(), tryPromoteAllocaToVector(), llvm::SelectionDAG::updateDivergence(), llvm::JumpThreadingPass::updateSSA(), llvm::ScalarEvolution::verify(), verifyCTRBranch(), llvm::SCEVTraversal< SV >::visitAll(), visitDomSubTree(), visitPHIUsersAndDepsInPostOrder(), and llvm::LazyCallGraph::visitReferences().

◆ reserve()

template<typename T >
void llvm::SmallVectorImpl< T >::reserve ( size_type  N)
inline

Definition at line 624 of file SmallVector.h.

Referenced by llvm::FoldingSetNodeID::AddString(), llvm::SmallVectorImpl< llvm::VectorizationFactor >::append(), appendToGlobalArray(), llvm::DomTreeUpdater::applyUpdates(), BatchCommitValueTo(), buildClonedLoopBlocks(), buildClonedLoops(), llvm::changeToUnreachable(), llvm::OpenMPIRBuilder::collapseLoops(), llvm::sys::commandLineFitsWithinSystemLimits(), llvm::zlib::compress(), llvm::EHStreamer::computeActionsTable(), llvm::computeDeadSymbols(), llvm::ConstantFoldExtractElementInstruction(), llvm::ConstantFoldGetElementPtr(), llvm::TypedInit::convertInitializerBitRange(), llvm::ListInit::convertInitializerTo(), llvm::TypedInit::convertInitListSlice(), llvm::ListInit::convertInitListSlice(), llvm::MIRPrinter::convertStackObjects(), llvm::ConnectedVNInfoEqClasses::Distribute(), llvm::EHStreamer::emitExceptionTable(), emitIntrinsicWithCC(), emitIntrinsicWithCCAndChain(), llvm::DwarfStreamer::emitLocationsForUnit(), llvm::FindInsertedValue(), llvm::RecordStreamer::flushSymverDirectives(), llvm::AttributeList::get(), llvm::MachineInstrExpressionTrait::getHashValue(), llvm::SelectionDAG::getMergeValues(), llvm::MDNode::getMostGenericRange(), llvm::ScalarEvolution::getMulExpr(), llvm::yaml::ScalarNode::getValue(), llvm::IntEqClasses::grow(), llvm::ScheduleDAGTopologicalSort::InitDAGTopologicalSorting(), llvm::InlineFunction(), llvm::SmallVectorImpl< llvm::VectorizationFactor >::insert(), insertParsePoints(), insertVector(), makeStatepointExplicit(), llvm::MergeBasicBlockIntoOnlyPred(), OptimizeAwayTrappingUsesOfValue(), llvm::slpvectorizer::BoUpSLP::optimizeGatherSequence(), llvm::performOptimizedStructLayout(), llvm::PointerMayBeCaptured(), llvm::CallGraph::print(), llvm::BitstreamCursor::readRecord(), rebuildLoopAfterUnswitch(), llvm::WebAssemblyExceptionInfo::recalculate(), llvm::InstrProfReaderItaniumRemapper< HashTableImpl >::reconstituteName(), relocationViaAlloca(), llvm::IndexedMap< unsigned, llvm::VirtReg2IndexFunctor >::reserve(), llvm::InstCombineWorklist::reserve(), llvm::raw_svector_ostream::reserveExtraSpace(), llvm::VarDefInit::resolveReferences(), llvm::DagInit::resolveReferences(), llvm::SlotIndexes::runOnMachineFunction(), speculatePHIs(), splitAsyncCoroutine(), SplitBlockAndInsertIfThenImpl(), llvm::splitBlockBefore(), SplitBlockImpl(), llvm::SplitIndirectBrCriticalEdges(), splitRetconCoroutine(), llvm::stableHashValue(), llvm::SmallVectorImpl< llvm::VectorizationFactor >::swap(), llvm::OpenMPIRBuilder::tileLoops(), tryConstantFoldCall(), llvm::TryToSimplifyUncondBranchFromEmptyBlock(), llvm::zlib::uncompress(), unswitchNontrivialInvariants(), UpdateAnalysisInformation(), llvm::upgradeInstructionLoopAttachment(), upgradeLoopArgument(), llvm::InstCombinerImpl::visitLandingPadInst(), llvm::widenShuffleMaskElts(), llvm::WriteBitcodeToFile(), llvm::WriteIndexToFile(), llvm::WriteThinLinkBitcodeToFile(), and llvm::LLVMContextImpl::~LLVMContextImpl().

◆ resize() [1/2]

template<typename T >
void llvm::SmallVectorImpl< T >::resize ( size_type  N)
inline

Definition at line 606 of file SmallVector.h.

Referenced by addData(), llvm::AttributeList::addParamAttribute(), llvm::BitTracker::RegisterCell::cat(), llvm::CCState::CCState(), llvm::mca::RegisterFile::collectWrites(), combineBitcast(), llvm::ARMBasicBlockUtils::computeAllBlockSizes(), llvm::WasmException::computeCallSiteTable(), llvm::EHStreamer::computeCallSiteTable(), llvm::ConstantFoldGetElementPtr(), llvm::convertUTF8ToUTF16String(), createMMXBuildVector(), llvm::IRBuilderBase::CreateVectorSplat(), llvm::DependenceInfo::depends(), llvm::ConnectedVNInfoEqClasses::Distribute(), llvm::DwarfStreamer::emitLineTableForUnit(), llvm::DwarfStreamer::emitLocationsForUnit(), llvm::MachineTraceMetrics::Ensemble::Ensemble(), llvm::InstructionSelector::executeMatchTable(), llvm::extractConstantMask(), findBuildAggregate(), llvm::SplitEditor::finish(), llvm::RegsForValue::getCopyFromRegs(), llvm::pdb::DIARawSymbol::getDataBytes(), llvm::LLVMContext::getMDKindNames(), llvm::MDNode::getMostGenericRange(), getNoopInput(), llvm::LLVMContextImpl::getOperandBundleTags(), llvm::GetShadowBytes(), llvm::DependenceInfo::getSplitIteration(), llvm::LLVMContextImpl::getSyncScopeNames(), getTargetConstantBitsFromNode(), llvm::DataExtractor::getU8(), getUnmergeResults(), getVPermMask(), llvm::AMDGPULegalizerInfo::handleD16VData(), llvm::TargetSchedModel::init(), llvm::ReachingDefAnalysis::init(), llvm::SchedRemainder::init(), llvm::SchedBoundary::init(), INITIALIZE_PASS(), llvm::ResourceManager::initProcResourceVectors(), llvm::mca::InstrBuilder::InstrBuilder(), llvm::LiveRange::join(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), llvm::object::ELFFile< object::ELF64LE >::loadVersionMap(), llvm::BlockFrequencyInfoImplBase::LoopData::LoopData(), lowerV8I16GeneralSingleInputShuffle(), llvm::CombinerHelper::matchCombineInsertVecElts(), llvm::MDBuilder::mergeCallbackEncodings(), llvm::IntervalMapImpl::Path::moveLeft(), llvm::object::ExportEntry::moveNext(), llvm::Triple::normalize(), llvm::RegisterBankInfo::OperandsMapper::OperandsMapper(), llvm::raw_ostream::operator<<(), optimizeVectorResizeWithIntegerBitCasts(), llvm::PredicateInfoBuilder::PredicateInfoBuilder(), llvm::PrettyStackTraceFormat::PrettyStackTraceFormat(), llvm::JumpThreadingPass::processBranchOnPHI(), llvm::Attributor::registerFunctionSignatureRewrite(), llvm::AttributeList::removeAttributes(), llvm::SchedBoundary::reset(), llvm::IndexedMap< unsigned, llvm::VirtReg2IndexFunctor >::resize(), llvm::DIInliningInfo::resize(), llvm::MachineTraceMetrics::runOnMachineFunction(), llvm::ExecutionDomainFix::runOnMachineFunction(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::StructType::setName(), and llvm::sortPtrAccesses().

◆ resize() [2/2]

template<typename T >
void llvm::SmallVectorImpl< T >::resize ( size_type  N,
ValueParamT  NV 
)
inline

Definition at line 611 of file SmallVector.h.

◆ resize_for_overwrite()

template<typename T >
void llvm::SmallVectorImpl< T >::resize_for_overwrite ( size_type  N)
inline

Like resize, but T is POD, the new values won't be initialized.

Definition at line 609 of file SmallVector.h.

◆ swap()

template<typename T >
void llvm::SmallVectorImpl< T >::swap ( SmallVectorImpl< T > &  RHS)

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