LLVM 22.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/SmallVector.h"

Inherits llvm::SmallVectorTemplateBase< T, bool >.

Inherited by llvm::SmallVector< BitWord >, llvm::SmallVector< NodeType *, 10 >, llvm::SmallVector< EdgeType *, 10 >, llvm::SmallVector< T, 0 >, llvm::SmallVector< const DataType *, 4 >, llvm::SmallVector< DataType, 4 >, llvm::SmallVector< PointType, 4 >, llvm::SmallVector< NodeRef, 8 >, llvm::SmallVector< SMSNode, 8 >, llvm::SmallVector< ValueT, 8 >, llvm::SmallVector< EltTy, 4 >, llvm::SmallVector< std::pair< BlockNode, BlockMass >, 4 >, llvm::SmallVector< BlockNode, 4 >, llvm::SmallVector< BlockMass, 1 >, llvm::SmallVector< Weight, 4 >, llvm::SmallVector< DDGNode *, 4 >, llvm::SmallVector< std::unique_ptr< Dependence >, 1 >, llvm::SmallVector< NodeType *, 4 >, llvm::iterator< ResourceInfo >, llvm::const_iterator< ResourceInfo >, llvm::SmallVector< MemAccessInfo, 8 >, llvm::SmallVector< Loop *, 8 >, llvm::SmallVector< std::unique_ptr< IndexedReference >, 8 >, llvm::SmallVector< ReferenceGroupTy, 8 >, llvm::SmallVector< const Instruction * >, llvm::SmallVector< MemoryAccess *, 8 >, llvm::SmallVector< stable_hash >, llvm::SmallVector< IndexPairHash >, llvm::SmallVector< std::unique_ptr< StableFunctionEntry > >, llvm::SmallVector< TypeUnitMetaInfo, 1 >, llvm::SmallVector< Entry, 4 >, llvm::SmallVector< LiveRegsDVInfo, 4 >, llvm::const_iterator<, 1 >, llvm::SmallVector< std::function< void(MachineInstrBuilder &)>, 4 >, llvm::SmallVector< MachineInstr *, 4 >, llvm::SmallVector< MachineInstrBuilder, 4 >, llvm::SmallVector< Register, 1 >, llvm::SmallVector< std::unique_ptr< InsertPoint >, 2 >, llvm::SmallVector< APFloat >, llvm::SmallVector< IndexPair, 4 >, llvm::SmallVector< ParamLocs, 8 >, llvm::SmallVector< Segment, 2 >, llvm::SmallVector< VNInfo *, 2 >, llvm::SmallVector< std::pair< SlotIndex, VNInfo * >, 16 >, llvm::SmallVector< MBBInfo, 4 >, llvm::SmallVector< TraversedMBBInfo, 4 >, llvm::SmallVector< VariableDbgInfo, 4 >, llvm::SmallVector< SwingSchedulerDDGEdge, 4 >, llvm::SmallVector< NodeSet, 8 >, llvm::SmallVector< Node, 4 >, llvm::SmallVector< LiveRegsDefInfo, 4 >, llvm::SmallVector< const InstructionMapping *, 4 >, llvm::SmallVector< UnderlyingObject, 4 >, llvm::SmallVector< Location, 8 >, llvm::SmallVector< LiveOutReg, 8 >, llvm::SmallVector< BitTestCase, 3 >, llvm::SmallVector< SwitchWorkListItem, 4 >, llvm::SmallVector< ConstraintPair >, llvm::SmallVector< BTF::BPFLineInfo, 0 >, llvm::SmallVector< BTF::BPFFieldReloc, 0 >, llvm::SmallVector< std::pair< uint64_t, DILineInfo >, 16 >, llvm::SmallVector< AttributeSpec, 8 >, llvm::const_iterator< NameIndex, 0 >, llvm::SmallVector< LocationList, 4 >, llvm::SmallVector< LVElement *, 8 >, llvm::SmallVector< LVLine *, 8 >, llvm::SmallVector< LVLocation *, 8 >, llvm::SmallVector< LVOperation *, 8 >, llvm::SmallVector< LVScope *, 8 >, llvm::SmallVector< LVSymbol *, 8 >, llvm::SmallVector< LVType *, 8 >, llvm::SmallVector< LVOffset, 8 >, llvm::SmallVector< StringRef, 16 >, llvm::SmallVector< PatchLocation >, llvm::SmallVector< Symbol *, 1 >, llvm::SmallVector< std::pair< std::string, ExecutorAddrRange > >, llvm::SmallVector< std::tuple< ExecutorAddr, ExecutorAddr, MachOExecutorSymbolFlags > >, llvm::SmallVector< SymbolTablePair >, llvm::SmallVector< ElemT, 4 >, llvm::SmallVector< std::pair< uint64_t, uint64_t > >, llvm::SmallVector< const BasicBlock *, 8 >, llvm::SmallVector< std::pair< const BasicBlock *, const BasicBlock * >, 8 >, llvm::SmallVector< std::pair< const BasicBlock *, uint64_t >, 8 >, llvm::iterator< CBufferMapping >, llvm::SmallVector< MDOperand, 0 >, llvm::iterator< EdgeTy, 0 >, llvm::SmallVector< std::unique_ptr< Timer >, 4 >, llvm::SmallVector< ConstantPoolEntry, 4 >, llvm::SmallVector< MCSection *, 0 >, llvm::SmallVector< InlineSite, 8 >, llvm::SmallVector< NodeState, 16 >, llvm::SmallVector< LoadCommandInfo, 4 >, llvm::SmallVector< StringRef, 1 >, llvm::SmallVector< llvm::yaml::Hex32 >, llvm::SmallVector< Arg *, 16 >, llvm::SmallVector< std::pair< TestVector, CondState > >, llvm::SmallVector< const GCOVBlock *, 1 >, llvm::SmallVector< BlockVector, 4 >, llvm::SmallVector< GCOVArc *, 4 >, llvm::SmallVector< Meta, static_cast< int >(Meta::Size)>, llvm::SmallVector< FrameId >, llvm::SmallVector< FrameId > &, llvm::SmallVector< SampleContextFrame, 1 >, llvm::SmallVector< const SamplesWithLoc *, 20 >, llvm::SmallVector< FunctionSamples *, 10 >, llvm::SmallVector< UtilitySignature, 4 >, llvm::SmallVector< std::unique_ptr< DomTreeNodeBase< NodeT > > >, llvm::SmallVector< IntrusiveRefCntPtr< FileSystem >, 1 >, llvm::SmallVector< std::shared_ptr< RecordsSlice >, 4 >, llvm::SmallVector< Target, 5 >, llvm::SmallVector< DepInfo, 8 >, llvm::SmallVector< RangeTy >, llvm::SmallVector< RetOrArg, 5 >, llvm::SmallVector< ConstantUser, 8 >, llvm::SmallVector< RebasedConstantInfo, 4 >, llvm::SmallVector< consthoist::ConstantInfo, 8 >, llvm::SmallVector< NonLocalDepResult, 64 >, llvm::SmallVector< gvn::AvailableValueInBlock, 64 >, llvm::SmallVector< DbgSSAPhi, 1 >, llvm::SmallVector< ExtractElementDescr, 4 >, llvm::SmallVector< DGNode *, 4 >, llvm::SmallVector< std::unique_ptr< SeedBundle > >, llvm::SmallVector< StoreInst *, 8 >, llvm::SmallVector< GetElementPtrInst *, 8 >, llvm::SmallVector< BranchProbability >, llvm::SmallVector< IndexPair >, llvm::SmallVector< CVGlobalVariable, 1 >, llvm::SmallVector< DbgCallSiteParam, 4 >, llvm::SmallVector< DbgLabel *, 4 >, llvm::SmallVector< Assignment >, llvm::SmallVector< LocKind >, llvm::SmallVector< BlockFlags, 32 >, llvm::SmallVector< struct ComplexValue, 2 >, llvm::SmallVector< LoadEntry, 8 >, llvm::SmallVector< LDVSSAPhi, 1 >, llvm::SmallVector< ValueIDNum, 0 >, llvm::SmallVector< SmallVector< VarAndLoc, 8 >, 8 >, llvm::SmallVector< VarLoc, 32 >, llvm::SmallVector< TransferDebugPair, 4 >, llvm::SmallVector< std::pair< unsigned, Register >, 2 >, llvm::SmallVector< const MachineMemOperand *, 2 >, llvm::SmallVector< SchedRegion, 16 >, llvm::SmallVector< Register, 16 >, llvm::SmallVector< RecurrenceInstr, 4 >, llvm::SmallVector< std::pair< const LiveInterval *, MCRegister >, 8 >, llvm::SmallVector< HintInfo, 4 >, llvm::SmallVector< SelectGroup, 2 >, llvm::SmallVector< std::pair< BlockFrequency, unsigned >, 4 >, llvm::SmallVector< LexicalEntry, 10 >, llvm::SmallVector< LiveRootWorklistItemTy >, llvm::SmallVector< LinkedLocationExpressionsWithOffsetPatches >, llvm::SmallVector< std::unique_ptr< CompileUnit > >, llvm::SmallVector< RefModuleUnit >, llvm::SmallVector< uint64_t * >, llvm::SmallVector< const void *, 64 >, llvm::SmallVector< std::tuple< ExecutorAddr, ExecutorAddr, MachOPlatform::MachOExecutorSymbolFlags > >, llvm::SmallVector< RelocationEntry, 64 >, llvm::SmallVector< AuxSymbol, 1 >, llvm::SmallVector< std::pair< const char *, Option * >, 128 >, llvm::SmallVector< std::pair< const char *, SubCommand * >, 128 >, llvm::SmallVector< std::pair< const Init *, const Init * >, 8 >, llvm::SmallVector< MILOHDirective, 32 >, llvm::SmallVector< std::pair< Instruction *, unsigned >, 4 >, llvm::SmallVector< const Edge *, 0 >, llvm::SmallVector< int16_t, MAX_SRC_OPERANDS_NUM >, llvm::SmallVector< std::pair< unsigned, SDValue >, 8 >, llvm::SmallVector< FCmpLibcallInfo, 2 >, llvm::SmallVector< MemOpQueueEntry, 8 >, llvm::SmallVector< SMLoc, 4 >, llvm::SmallVector< BitValue, DefaultBitN >, llvm::SmallVector< MuxInfo, 4 >, llvm::SmallVector< MachineInstr *, 8 >, llvm::SmallVector< InstrGroup, 8 >, llvm::SmallVector< struct CVIUnits, 8 >, llvm::SmallVector< HexagonInstr, HEXAGON_PRESHUFFLE_PACKET_SIZE >, llvm::SmallVector< Inst >, llvm::SmallVector< Inst, 4 >, llvm::SmallVector< Inst, 7 >, llvm::SmallVector< InstSeq, 5 >, llvm::SmallVector< Inst, 8 >, llvm::SmallVector< SPIRV::Environment::Environment, 8 >, llvm::SmallVector< const MachineInstr * >, llvm::SmallVector< CallContext, 8 >, llvm::SmallVector< MachineInstr *, 2 >, llvm::SmallVector< CmovGroup, 2 >, llvm::SmallVector< BlockState, 8 >, llvm::SmallVector< const FAddend *, 4 >, llvm::SmallVector< Use *, 16 >, llvm::SmallVector< ConditionTy, 2 >, llvm::SmallVector< std::pair< BasicBlock *, ConditionsTy >, 2 >, llvm::SmallVector< DivRemPairWorklistEntry, 4 >, llvm::SmallVector< HoistingPointInfo, 4 >, llvm::SmallVector< Entry, 8 >, llvm::SmallVector< Loop *, 4 >, llvm::SmallVector< FusionCandidateSet, 4 >, llvm::SmallVector< LoopVector, 4 >, llvm::SmallVector< Value *, 8 >, llvm::SmallVector< std::pair< Instruction *, ValueVector * >, 16 >, llvm::SmallVector< ControlCondition, 6 >, llvm::SmallVector< DbgVariableRecord *, 1 >, llvm::SmallVector< InvokeInst *, 2 >, llvm::SmallVector< OperandData, 2 >, llvm::SmallVector< std::unique_ptr< TreeEntry >, 8 >, llvm::SmallVector< ExternalUser, 16 >, llvm::SmallVector< Value *, 16 >, llvm::SmallVector< ReductionOpsType, 2 >, llvm::SmallVector< Value *, 2 >, llvm::SmallVector< T, N >, llvm::SmallVector< T *, 8 >, llvm::SmallVector< T *, 0 >, and llvm::SmallVector< T, N >.

Public Types

using  iterator = typename SuperClass::iterator
using  reference = typename SuperClass::reference
using  size_type = typename SuperClass::size_type
using  size_type = size_t
using  value_type = T
using  iterator = T *
using  const_iterator = const T *
using  const_reverse_iterator = std::reverse_iterator<const_iterator>
using  reverse_iterator = std::reverse_iterator<iterator>
using  reference = T &
using  const_reference = const T &
using  pointer = T *
using  const_pointer = const T *

Public Member Functions

void  clear ()
void  resize (size_type N)
  Like resize, but T is POD, the new values won't be initialized.
void  truncate (size_type N)
  Like resize, but requires that N is less than size() .
void  reserve (size_type N)
void  pop_back_n (size_type NumItems)
template<typename ItTy, typename = EnableIfConvertibleToInputIterator<ItTy>>
void  append (ItTy in_start, ItTy in_end)
  Add the specified range to the end of the SmallVector.
void  append (size_type NumInputs, ValueParamT Elt)
  Append NumInputs copies of Elt to the end.
void  append (std::initializer_list< T > IL)
void  assign (size_type NumElts, ValueParamT Elt)
template<typename ItTy, typename = EnableIfConvertibleToInputIterator<ItTy>>
void  assign (ItTy in_start, ItTy in_end)
void  assign (std::initializer_list< T > IL)
template<typename U, typename = std::enable_if_t<std::is_convertible_v<U, T>>>
void  assign (ArrayRef< U > AR)
iterator  insert (iterator I, T &&Elt)
template<typename ItTy, typename = EnableIfConvertibleToInputIterator<ItTy>>
void  insert (iterator I, std::initializer_list< T > IL)
template<typename... ArgTypes>
reference  emplace_back (ArgTypes &&... Args)
Public Member Functions inherited from llvm::SmallVectorTemplateBase< T, bool >
void  push_back (const T &Elt)
void  push_back (T &&Elt)
void  pop_back ()
Public Member Functions inherited from llvm::SmallVectorTemplateCommon< T, typename >
size_t  capacity_in_bytes () const
  Return a pointer to the vector's buffer, even if empty().
  Return a pointer to the vector's buffer, even if empty().
size_t  capacity () const
size_t  size () const
Public Member Functions inherited from llvm::SmallVectorBase< SmallVectorSizeType< T > >
size_t  size () const
size_t  capacity () const

Protected Types

Protected Types inherited from llvm::SmallVectorTemplateBase< T, bool >
using  ValueParamT = const T &

Protected Member Functions

Protected Member Functions inherited from llvm::SmallVectorTemplateBase< T, bool >
void  grow (size_t MinSize=0)
  Grow the allocated memory (without initializing new elements), doubling the size of the allocated memory.
TmallocForGrow (size_t MinSize, size_t &NewCapacity)
  Create a new allocation big enough for MinSize and pass back its size in NewCapacity.
void  moveElementsForGrow (T *NewElts)
  Move existing elements over to the new allocation NewElts, the middle section of grow() .
void  takeAllocationForGrow (T *NewElts, size_t NewCapacity)
  Transfer ownership of the allocation, finishing up grow() .
  Reserve enough space to add one element, and return the updated element pointer in case it was a reference to the storage.
TreserveForParamAndGetAddress (T &Elt, size_t N=1)
  Reserve enough space to add one element, and return the updated element pointer in case it was a reference to the storage.
void  growAndAssign (size_t NumElts, const T &Elt)
template<typename... ArgTypes>
TgrowAndEmplaceBack (ArgTypes &&... Args)
Protected Member Functions inherited from llvm::SmallVectorTemplateCommon< T, typename >
void *  getFirstEl () const
  Find the address of the first element.
void  grow_pod (size_t MinSize, size_t TSize)
  Return true if this is a smallvector which has not had dynamic memory allocated for it.
void  resetToSmall ()
  Put this vector in a state of being small.
bool  isReferenceToRange (const void *V, const void *First, const void *Last) const
  Return true if V is an internal reference to the given range.
  Return true if V is an internal reference to this vector.
  Return true if First and Last form a valid (possibly empty) range in this vector's storage.
bool  isSafeToReferenceAfterResize (const void *Elt, size_t NewSize)
  Return true unless Elt will be invalidated by resizing the vector to NewSize.
void  assertSafeToReferenceAfterResize (const void *Elt, size_t NewSize)
  Check whether Elt will be invalidated by resizing the vector to NewSize.
void  assertSafeToAdd (const void *Elt, size_t N=1)
  Check whether Elt will be invalidated by increasing the size of the vector by N.
template<class ItTy>
  Check whether any part of the range will be invalidated by clearing.
template<class ItTy>
void  assertSafeToAddRange (ItTy From, ItTy To)
  Check whether any part of the range will be invalidated by growing.
Protected Member Functions inherited from llvm::SmallVectorBase< SmallVectorSizeType< T > >
  SmallVectorBase ()=delete
  SmallVectorBase (void *FirstEl, size_t TotalCapacity)
LLVM_ABI void *  mallocForGrow (void *FirstEl, size_t MinSize, size_t TSize, size_t &NewCapacity)
  This is a helper for grow() that's out of line to reduce code duplication.
LLVM_ABI void  grow_pod (void *FirstEl, size_t MinSize, size_t TSize)
  This is an implementation of the grow() method which only works on POD-like data types and is out of line to reduce code duplication.
void  set_size (size_t N)
  Set the array size to N, which the current array must have enough capacity for.
void  set_allocation_range (void *Begin, size_t N)
  Set the array data pointer to Begin and capacity to N.

Additional Inherited Members

Static Protected Member Functions inherited from llvm::SmallVectorTemplateBase< T, bool >
static void  destroy_range (T *S, T *E)
template<typename It1, typename It2>
static void  uninitialized_move (It1 I, It1 E, It2 Dest)
  Move the range [I, E) into the uninitialized memory starting with "Dest", constructing elements as needed.
template<typename It1, typename It2>
static void  uninitialized_copy (It1 I, It1 E, It2 Dest)
  Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements as needed.
static T &&  forward_value_param (T &&V)
static const Tforward_value_param (const T &V)
Static Protected Member Functions inherited from llvm::SmallVectorTemplateCommon< T, typename >
template<class U>
static const TreserveForParamAndGetAddressImpl (U *This, const T &Elt, size_t N)
  Reserve enough space to add one element, and return the updated element pointer in case it was a reference to the storage.
Static Protected Member Functions inherited from llvm::SmallVectorBase< SmallVectorSizeType< T > >
static constexpr size_t  SizeTypeMax ()
  The maximum value of the Size_T used.
Protected Attributes inherited from llvm::SmallVectorBase< SmallVectorSizeType< T > >
void *  BeginX
Static Protected Attributes inherited from llvm::SmallVectorTemplateBase< T, bool >
static constexpr bool  TakesParamByValue = false

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 574 of file SmallVector.h.

Member Typedef Documentation

◆  const_iterator

template<typename T>

Definition at line 579 of file SmallVector.h.

◆  iterator

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

Definition at line 578 of file SmallVector.h.

◆  reference

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

Definition at line 580 of file SmallVector.h.

◆  size_type

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

Definition at line 581 of file SmallVector.h.

◆  ValueParamT

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

Definition at line 585 of file SmallVector.h.

Constructor & Destructor Documentation

◆  SmallVectorImpl() [1/2]

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

Definition at line 588 of file SmallVector.h.

Referenced by llvm::SmallVector< BitWord >::operator=(), operator=(), operator=(), llvm::SmallVector< BitWord >::SmallVector(), llvm::SmallVector< BitWord >::SmallVector(), llvm::SmallVector< BitWord >::SmallVector(), llvm::SmallVector< BitWord >::SmallVector(), llvm::SmallVector< BitWord >::SmallVector(), llvm::SmallVector< BitWord >::SmallVector(), llvm::SmallVector< BitWord >::SmallVector(), llvm::SmallVector< BitWord >::SmallVector(), llvm::SmallVector< BitWord >::SmallVector(), llvm::SmallVector< BitWord >::SmallVector(), and swap().

◆  ~SmallVectorImpl()

template<typename T>
inlineprotected

Definition at line 601 of file SmallVector.h.

◆  SmallVectorImpl() [2/2]

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

Member Function Documentation

◆  append() [1/4]

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

Definition at line 703 of file SmallVector.h.

Referenced by llvm::const_iterator< MemoryLocation >::append().

◆  append() [2/4]

template<typename T>
template<typename ItTy, typename = EnableIfConvertibleToInputIterator<ItTy>>
void llvm::SmallVectorImpl< T >::append ( ItTy in_start,
ItTy in_end )
inline

Add the specified range to the end of the SmallVector.

Definition at line 684 of file SmallVector.h.

Referenced by llvm::opt::ArgList::AddAllArgValues(), addAllGlobalValueUsers(), llvm::MachineInstr::addMemOperand(), llvm::logicalview::LVScope::addMissingElements(), llvm::RecurrenceDescriptor::AddReductionVar(), analyzeLoopUnrollCost(), llvm::const_iterator< MemoryLocation >::append(), llvm::DIExpression::append(), llvm::SmallString< 0 >::append(), llvm::appendLEB128(), llvm::appendReversedLoopsToWorklist(), appendScalableVectorExpression(), llvm::DIExpression::appendToStack(), llvm::const_iterator< MemoryLocation >::assign(), llvm::const_iterator< MemoryLocation >::assign(), canonicalizeDwarfOperations(), llvm::dwarf_linker::parallel::CompileUnit::cloneDieAttrExpression(), llvm::MachineInstr::cloneMergedMemRefs(), llvm::PMTopLevelManager::collectLastUses(), combineConcatVectorOfConcatVectors(), combineConcatVectorOps(), combinePackingMovIntoStore(), combineX86ShufflesRecursively(), llvm::VPWidenSelectRecipe::computeCost(), llvm::concatenateVectors(), llvm::ScalarEvolution::convertSCEVToAddRecWithPredicates(), llvm::DIExpression::convertToUndefExpression(), llvm::DIExpression::convertToVariadicExpression(), createMergedFunction(), deleteDeadBlocksFromLoop(), eliminateMove(), emitTopLevelLibraryNode(), llvm::MCDwarfLineAddr::encode(), eraseDeadBBsAndChildren(), eraseDeadBBsAndChildren(), llvm::cl::expandResponseFiles(), llvm::DIExpression::extractLeadingOffset(), llvm::FindInsertedValue(), foldCONCAT_VECTORS(), llvm::X86InstrInfo::foldMemoryOperandImpl(), llvm::ScalarEvolution::forgetLoop(), formLCSSAForInstructionsImpl(), llvm::omp::getCompoundConstruct(), llvm::VPRecipeWithIRFlags::getCostForRecipeWithOpcode(), llvm::DominatorTreeBase< BlockT, false >::getDescendants(), getEntryPropAsMetadata(), llvm::RISCVTTIImpl::getExpandCompressMemoryOpCost(), getHostID(), llvm::LoopBase< BlockT, LoopT >::getInnerLoopsInPreorder(), llvm::TargetTransformInfoImplCRTPBase< T >::getInstructionCost(), llvm::LoopInfoBase< BlockT, LoopT >::getLoopsInPreorder(), llvm::LoopInfoBase< BlockT, LoopT >::getLoopsInReverseSiblingPreorder(), getNoopInput(), getSalvageOpsForBinOp(), getSalvageOpsForGEP(), llvm::slpvectorizer::BoUpSLP::getSpillCost(), llvm::ConstantDataArray::getString(), getTargetConstantBitsFromNode(), growShuffleMask(), handleSSAValueOperands(), llvm::hasPartialIVCondition(), llvm::SDNode::hasPredecessorHelper(), hostParallelCallback(), llvm::DebugHandlerBase::identifyScopeMarkers(), llvm::InlineFunctionImpl(), llvm::const_iterator< MemoryLocation >::insert(), llvm::const_iterator< MemoryLocation >::insert(), llvm::LazyCallGraph::RefSCC::insertIncomingRefEdge(), isHorizontalBinOp(), isLoopDead(), llvm::isPotentiallyReachable(), isReachableImpl(), isSaveReachableThroughClean(), IsValueFullyAvailableInBlock(), llvm::TargetLowering::LowerCallTo(), LowerEXTEND_VECTOR_INREG(), llvm::SITargetLowering::LowerFormalArguments(), lowerShuffleOfExtractsAsVperm(), llvm::makePostTransformationMetadata(), markAllReachable(), llvm::LegalizerHelper::narrowScalarAddSub(), llvm::LegalizerHelper::narrowScalarInsert(), Predicate::operator&&(), Predicate::operator||(), optimizeDwarfOperations(), processCall(), llvm::logicalview::LVBinaryReader::processLines(), llvm::BitstreamCursor::readRecord(), llvm::LiveVariables::recomputeForSingleDefVirtReg(), reconstructGEP(), llvm::LazyCallGraph::RefSCC::removeInternalRefEdges(), llvm::opt::Arg::render(), llvm::opt::Arg::renderAsInput(), replaceAccessesWithHandle(), ReplaceINTRINSIC_W_CHAIN(), llvm::const_iterator< MemoryLocation >::resize(), resolveTypeIndexReferences(), llvm::InlinerPass::run(), llvm::LoopFullUnrollPass::run(), searchPredecessors(), llvm::RISCVDAGToDAGISel::Select(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::TargetLowering::SimplifyDemandedVectorElts(), llvm::simplifyLoop(), llvm::SmallVector< BitWord >::SmallVector(), llvm::SmallVector< BitWord >::SmallVector(), llvm::SmallVector< BitWord >::SmallVector(), llvm::SmallVector< BitWord >::SmallVector(), llvm::dxil::DXILOpBuilder::tryCreateOp(), llvm::LegalizationArtifactCombiner::tryFoldUnmergeCast(), tryToFindDuplicates(), llvm::SelectionDAG::UnrollVectorOverflowOp(), llvm::UpgradeNVVMAnnotations(), llvm::ScalarEvolution::verify(), llvm::InstCombinerImpl::visitGEPOfGEP(), widenBuildVec(), and llvm::support::endian::write().

◆  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 693 of file SmallVector.h.

◆  append() [4/4]

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

Definition at line 699 of file SmallVector.h.

◆  assign() [1/5]

template<typename T>
template<typename U, typename = std::enable_if_t<std::is_convertible_v<U, T>>>
void llvm::SmallVectorImpl< T >::assign ( ArrayRef< U > AR )
inline

Definition at line 740 of file SmallVector.h.

◆  assign() [2/5]

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

Definition at line 736 of file SmallVector.h.

Referenced by llvm::const_iterator< MemoryLocation >::assign().

◆  assign() [3/5]

template<typename T>
template<typename ItTy, typename = EnableIfConvertibleToInputIterator<ItTy>>
void llvm::SmallVectorImpl< T >::assign ( ItTy in_start,
ItTy in_end )
inline

Definition at line 725 of file SmallVector.h.

◆  assign() [4/5]

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

Definition at line 705 of file SmallVector.h.

Referenced by llvm::const_iterator< MemoryLocation >::assign(), llvm::SmallString< 0 >::assign(), buildCompressMask(), canWidenShuffleElements(), CloneNodeWithValues(), combineHorizOpWithShuffle(), combineX86ShufflesRecursively(), computeInLaneShuffleMask(), LiveDebugValues::MLocTracker::emitLoc(), llvm::cl::ExpansionContext::findConfigFile(), llvm::SplitEditor::finish(), llvm::getShuffleMaskWithWidestElts(), getTargetConstantBitsFromNode(), growShuffleMask(), isRepeatedShuffleMask(), isRepeatedShuffleMask(), isRepeatedTargetShuffleMask(), lowerShuffleAsDecomposedShuffleMerge(), lowerVECTOR_SHUFFLEAsLanePermuteAndShuffle(), mergeEltWithShuffle(), llvm::narrowShuffleMaskElts(), llvm::SmallVector< BitWord >::operator=(), llvm::slpvectorizer::BoUpSLP::optimizeGatherSequence(), llvm::processShuffleMasks(), llvm::BuildVectorSDNode::recastRawBits(), reorderOrder(), SalvageDVI(), llvm::scaleShuffleMaskElts(), simplifyShuffleVectorInst(), llvm::SmallVector< BitWord >::SmallVector(), llvm::LoopTraversal::traverse(), llvm::DbgValueHistoryMap::trimLocationRanges(), and llvm::widenShuffleMaskElts().

◆  assign() [5/5]

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

Definition at line 731 of file SmallVector.h.

◆  assignRemote()

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

Definition at line 591 of file SmallVector.h.

Referenced by llvm::SmallVector< BitWord >::operator=(), and operator=().

◆  clear()

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

Definition at line 611 of file SmallVector.h.

Referenced by llvm::PMDataManager::add(), addHints(), llvm::LiveIntervals::addKillFlags(), llvm::LanaiInstrInfo::analyzeBranch(), analyzeLoopUnrollCost(), llvm::appendReversedLoopsToWorklist(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::const_iterator< MemoryLocation >::assign(), llvm::const_iterator< MemoryLocation >::assign(), llvm::memprof::CallStackRadixTreeBuilder< FrameIdTy >::build(), llvm::SSAUpdaterImpl< UpdaterT >::BuildBlockList(), calculateRtStride(), llvm::slpvectorizer::BoUpSLP::canVectorizeLoads(), CC_AArch64_Custom_Block(), CC_ARM_AAPCS_Custom_Aggregate(), CC_LoongArch(), llvm::CC_RISCV(), llvm::CC_SystemZ_I128Indirect(), CC_X86_32_I128_FP128(), CC_X86_32_MCUInReg(), CC_X86_64_I128(), checkDependencies(), llvm::mca::RegisterFile::checkRAWHazards(), checkVectorTypesForPromotion(), llvm::coro::Shape::cleanCoroutine(), llvm::AliasSetTracker::clear(), clusterSortPtrAccesses(), llvm::InlineAsm::collectAsmStrs(), llvm::computeAccessFunctions(), llvm::RegBankSelect::computeMapping(), llvm::slpvectorizer::BoUpSLP::computeMinimumValueSizes(), llvm::convertUTF8ToUTF16String(), createTblForTrunc(), llvm::ConnectedVNInfoEqClasses::Distribute(), llvm::AsmPrinter::doFinalization(), doPromotion(), llvm::ehAwareSplitEdge(), llvm::AsmPrinter::emitCOFFReplaceableFunctionData(), emitComments(), LiveDebugValues::MLocTracker::emitLoc(), ExpandBVWithShuffles(), llvm::DIExpression::extractLeadingOffset(), llvm::extractParts(), llvm::LegalizerHelper::fewerElementsVectorReductions(), llvm::CodeExtractor::findAllocas(), llvm::RegBankSelect::findBestMapping(), llvm::SampleProfileLoaderBaseImpl< FT >::findEquivalenceClasses(), llvm::DirectedGraph< DDGNode, DDGEdge >::findIncomingEdgesToNode(), findOrCreatePHIInBlock(), finishStackBlock(), llvm::RecordStreamer::flushSymverDirectives(), foldConsecutiveStores(), llvm::formDedicatedExitBlocks(), formLCSSAForInstructionsImpl(), generateInstSeqLeadingZeros(), llvm::RegsForValue::getCopyFromRegs(), llvm::TargetSubtargetInfo::getCriticalPathRCs(), llvm::pdb::DIARawSymbol::getDataBytes(), llvm::pdb::NativeRawSymbol::getDataBytes(), llvm::GenericCycle< ContextT >::getExitBlocks(), llvm::GenericCycle< ContextT >::getExitingBlocks(), llvm::RISCV::getFeaturesForCPU(), getHostID(), llvm::getIndexExpressionsFromGEP(), llvm::unittest::getInputFileDirectory(), getLiveInRegsAt(), llvm::getLiveRegMap(), getMemmoveLoadsAndStores(), llvm::LoopNest::getPerfectLoops(), llvm::X86RegisterInfo::getRegAllocationHints(), llvm::GetShadowBytes(), llvm::SelectionDAG::getTopologicallyOrderedNodes(), llvm::ScalarEvolution::getUDivExpr(), llvm::getUnderlyingObjectsForCodeGen(), getUnderlyingObjectsForInstr(), llvm::FunctionLoweringInfo::getValueFromVirtualReg(), llvm::getValueProfDataFromInst(), llvm::InlineFunctionImpl(), insertParsePoints(), insertSpills(), isHorizontalBinOp(), IsValueFullyAvailableInBlock(), isVectorPromotionViable(), LLVMGlobalCopyAllMetadata(), LLVMInstructionGetAllMetadataOtherThanDebugLoc(), loadYAMLLog(), llvm::ARMCallLowering::lowerCall(), llvm::MipsCallLowering::lowerCall(), llvm::X86CallLowering::lowerCall(), llvm::HexagonTargetLowering::LowerCONCAT_VECTORS(), llvm::RISCVTargetLowering::lowerInterleavedStore(), llvm::PhiLoweringHelper::lowerPhis(), lowerV4X128Shuffle(), makeStatepointExplicitImpl(), llvm::Regex::match(), llvm::sys::unicode::nameToCodepoint(), llvm::sys::unicode::nameToGeneratedCodePoint(), llvm::sys::unicode::nameToHangulCodePoint(), llvm::narrowShuffleMaskElts(), llvm::sys::path::native(), operator=(), operator=(), parseOperands(), parseScalarValue(), phiNodeReplacement(), PrintLoopInfo(), llvm::processShuffleMasks(), llvm::sampleprof::SampleProfileReaderText::readImpl(), readLine(), ReduceLoopStrength(), llvm::jitlink::relaxBlock(), removeRedundantBlockingStores(), reorderOrder(), reorderSubVector(), resolveTypeIndexReferences(), RemoveLoadsIntoFakeUses::run(), llvm::SelectionDAGISel::SelectCodeCommon(), simplifyLoopInst(), llvm::sortPtrAccesses(), llvm::SplitKnownCriticalEdge(), stripDeadDebugInfoImpl(), llvm::LazyCallGraph::RefSCC::switchInternalEdgeToRef(), llvm::CodeViewYAML::toDebugH(), llvm::cl::TokenizeGNUCommandLine(), tokenizeWindowsCommandLineImpl(), transformResourcePointers(), llvm::LoopTraversal::traverse(), llvm::tryDelinearizeFixedSizeImpl(), tryToFindDuplicates(), tryToVectorizeSequence(), unswitchNontrivialInvariants(), llvm::BlockFrequencyInfoImplBase::updateLoopWithIrreducible(), llvm::JumpThreadingPass::updateSSA(), llvm::HexagonShuffler::ValidResourceUsage(), llvm::GenericConvergenceVerifier< ContextT >::verify(), llvm::MemorySSA::verifyOrderingDominationAndDefUses(), llvm::widenShuffleMaskElts(), llvm::widenShuffleMaskElts(), llvm::sampleprof::SampleProfileWriter::writeWithSizeLimitInternal(), and llvm::yaml::yaml2ObjectFile().

◆  emplace_back()

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

Definition at line 944 of file SmallVector.h.

Referenced by addEdge(), AddParamAndFnBasicAttributes(), llvm::ConstraintSystem::addVariableRow(), llvm::GlobalMergeFunc::analyze(), llvm::mca::Scheduler::analyzeDataDependencies(), llvm::LiveRegSet::appendTo(), buildBitSets(), llvm::CSEMIRBuilder::buildInstr(), llvm::IDFCalculatorBase< NodeTy, IsPostDom >::calculate(), llvm::calculateClrEHStateNumbers(), llvm::PatternMatch::undef_match::check(), checkClobberSanity(), classifyConstantWithOpaquePtr(), TransferTracker::clobberMloc(), cloneInstructionInExitBlock(), clusterSortPtrAccesses(), collectFrameAlloca(), llvm::SDPatternMatch::ReassociatableOpc_match< PatternTs >::collectLeaves(), combineOp_VLToVWOp_VL(), computeLiveOuts(), llvm::RegBankSelect::computeMapping(), llvm::ConstantFoldCountZeros(), llvm::ConstantFoldICmp(), llvm::SelectionDAG::copyExtraInfo(), costAndCollectOperands(), llvm::CallBase::Create(), llvm::objcarc::createCallInstWithColors(), createFunctionClones(), createImportedModule(), llvm::mca::RISCVInstrumentManager::createInstruments(), createLocalVariable(), decompose(), decomposeGEP(), doPromotion(), llvm::MCPseudoProbeSections::emit(), llvm::AsmPrinter::emitFunctionBody(), llvm::LoopVectorizationPlanner::emitInvalidCostRemarks(), llvm::WebAssemblyAsmPrinter::EmitProducerInfo(), llvm::PseudoProbeHandler::emitPseudoProbe(), llvm::objcopy::macho::executeObjcopyOnMachOUniversalBinary(), extractOffloadBundle(), feedsIntoVectorReduction(), llvm::LegalizerHelper::fewerElementsVectorReductions(), llvm::RISCV::fillValidCPUArchList(), llvm::X86::fillValidCPUArchList(), llvm::LoongArch::fillValidCPUList(), llvm::PPC::fillValidCPUList(), llvm::RISCV::fillValidTuneCPUArchList(), llvm::PPC::fillValidTuneCPUList(), llvm::X86::fillValidTuneCPUList(), llvm::PeelingModuloScheduleExpander::filterInstructions(), llvm::RegBankSelect::findBestMapping(), llvm::sampleprof::FunctionSamples::findFunctionSamples(), llvm::findHistogram(), llvm::InstCombinerImpl::foldAggregateConstructionIntoAggregateReuse(), llvm::foldBranchToCommonDest(), foldExtractSubvectorFromShuffleVector(), foldICmpOrXorSubChain(), llvm::InstCombinerImpl::foldIntegerTypedPHI(), ForeachDagApply(), gatherPossiblyVectorizableLoads(), generateInstLaneVectorFromOperand(), llvm::RISCVMatInt::generateInstSeq(), generateInstSeqImpl(), generateInstSeqLeadingZeros(), getArgTypesFromOpParamTypes(), llvm::SampleContextTracker::getContextString(), getEntryPropAsMetadata(), llvm::LoopBase< BlockT, LoopT >::getExitEdges(), llvm::InstCombiner::getFreelyInvertedImpl(), llvm::DenseMapInfo< const SwitchSuccWrapper * >::getHashValue(), llvm::getHeaders(), llvm::sys::detail::getHostCPUNameForARM(), llvm::MCDecodedPseudoProbe::getInlineContext(), llvm::MCPseudoProbeDecoder::getInlineContextForProbe(), llvm::AMDGPU::getInterestingMemoryOperands(), getMatchedEntries(), llvm::CallBase::getOperandBundlesAsDefs(), getOrCreateFPFastMathDefaultInfoVec(), llvm::DXContainerYAML::RootParameterYamlDesc::getOrInsertImpl(), llvm::CallLowering::getReturnInfo(), llvm::ScalarEvolution::getSCEVAtScope(), getStableFunctionEntries(), getStableIndexOperandHashes(), getTagValueAsMetadata(), llvm::SelectionDAG::getTokenFactor(), llvm::slpvectorizer::BoUpSLP::getTreeCost(), getUnderlyingObjectsForInstr(), llvm::slpvectorizer::BoUpSLP::getVectorElementSize(), getWorklist(), llvm::SelectionDAGBuilder::handleDebugValue(), hasAllNBitUsers(), hasHazard(), llvm::mca::initializeUsedResources(), llvm::InlineFunctionImpl(), llvm::MachineInstr::insert(), llvm::LazyCallGraph::RefSCC::insertTrivialCallEdge(), llvm::LazyCallGraph::RefSCC::insertTrivialRefEdge(), llvm::VPIRMetadata::intersect(), llvm::SCEVExpander::isHighCostExpansion(), isLoadCombineCandidate(), isOnlyCopiedFromConstantMemory(), IsValueFullyAvailableInBlock(), loadCSE(), loadNaiveFormatLog(), lowerShuffleViaVRegSplitting(), llvm::CombinerHelper::matchCombineMergeUnmerge(), llvm::CombinerHelper::matchCombineUnmergeConstant(), matchIntrinsicType(), llvm::GlobalMergeFunc::merge(), mergeEltWithShuffle(), llvm::dwarf_linker::parallel::SectionDescriptor::notePatchWithOffsetUpdate(), llvm::orc::SymbolStringPool::operator<<, parseBraceExpansions(), llvm::formatv_object_base::parseFormatString(), populateEHOperandBundle(), llvm::ScopedPrinter::printFlags(), llvm::ScopedPrinter::printHexList(), llvm::ScopedPrinter::printList(), llvm::ScopedPrinter::printList(), llvm::ScopedPrinter::printList(), llvm::mustache::processTag(), llvm::JumpThreadingPass::processThreadableEdges(), PropagateOperandBundles(), TransferTracker::redefVar(), removeIdenticalIndexPair(), llvm::LazyCallGraph::RefSCC::removeInternalRefEdges(), llvm::CallBase::removeOperandBundle(), llvm::SCEVExpander::replaceCongruentIVs(), replaceExitCond(), replaceLoopPHINodesWithPreheaderValues(), llvm::orc::LibraryScanHelper::resetToScan(), llvm::rewriteLoopExitValues(), llvm::PeelingModuloScheduleExpander::rewriteUsesOf(), llvm::DropUnnecessaryAssumesPass::run(), llvm::HipStdParMathFixupPass::run(), runMoveAutoInit(), llvm::RewriteStatepointsForGC::runOnFunction(), setRegZero(), simplifyAMDGCNImageIntrinsic(), simplifyAssumingCCVal(), llvm::simplifyLoopAfterUnroll(), llvm::AbstractDependenceGraphBuilder< DataDependenceGraph >::sortNodesTopologically(), llvm::SplitBlockAndInsertIfThenElse(), splitGlobal(), llvm::SplitIndirectBrCriticalEdges(), llvm::CallLowering::splitToValueTypes(), llvm::LazyCallGraph::RefSCC::switchInternalEdgeToRef(), llvm::yaml::MappingTraits< const InterfaceFile * >::NormalizedTBD::synthesizeTargets(), takeInexpensiveLog2(), llvm::mustache::tokenize(), llvm::slpvectorizer::BoUpSLP::transformNodes(), transformResourcePointers(), translateGlobalMetadata(), tryToFindDuplicates(), llvm::InstCombinerImpl::tryToSinkInstructionDbgVariableRecords(), llvm::JumpThreadingPass::unfoldSelectInstr(), llvm::UnrollAndJamLoop(), llvm::UnrollLoop(), llvm::UnrollRuntimeLoopRemainder(), unswitchNontrivialInvariants(), updateIDTMetaData(), llvm::PeelingModuloScheduleExpander::validateAgainstModuloScheduleExpander(), llvm::slpvectorizer::BoUpSLP::vectorizeTree(), llvm::dwarf_linker::parallel::DependencyTracker::verifyKeepChain(), llvm::OutlinedHashTree::walkGraph(), llvm::VirtRegAuxInfo::weightCalcHelper(), and llvm::slpvectorizer::BoUpSLP::~BoUpSLP().

◆  erase() [1/2]

template<typename T>

Definition at line 744 of file SmallVector.h.

Referenced by llvm::RISCVVectorMaskDAGMutation::apply(), clobberRegEntries(), llvm::IntervalTree< LVAddress, LVScope * >::create(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::cl::ExpansionContext::expandResponseFiles(), llvm::StableFunctionMap::finalize(), llvm::findArrayDimensions(), llvm::RISCVMatInt::generateInstSeq(), llvm::sys::detail::getHostCPUNameForARM(), getPreStartForExtend(), llvm::getSuperRegs(), getTargetConstantBitsFromNode(), llvm::SelectionDAG::getTokenFactor(), getVCIXISDNodeVOID(), getVCIXISDNodeWCHAIN(), handleNewDebugValue(), llvm::OuterAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs >::Result::invalidate(), lowerV16I8Shuffle(), lowerV8I16GeneralSingleInputShuffle(), llvm::performOptimizedStructLayout(), reconnectChildLoops(), removeCCOut(), removeCondCode(), removeIdenticalIndexPair(), RemoveInstInputs(), llvm::MemoryDependenceResults::removeInstruction(), llvm::LazyCallGraph::RefSCC::removeInternalRefEdges(), RemovePreallocated(), removeRegLanes(), removeVPTCondCode(), replaceConstantExprOp(), llvm::InlinerPass::run(), RemoveLoadsIntoFakeUses::run(), sortGlobalExprs(), llvm::LazyCallGraph::RefSCC::switchInternalEdgeToRef(), tryFoldCommutativeMath(), tryFoldCommutativeMathWithArgInBetween(), tryFoldConstants(), tryFoldNoOpMath(), llvm::coverage::mcdc::TVIdxBuilder::TVIdxBuilder(), llvm::BlockFrequencyInfoImplBase::updateLoopWithIrreducible(), verifySubExpr(), and llvm::InstCombinerImpl::visitLandingPadInst().

◆  erase() [2/2]

template<typename T>

Definition at line 758 of file SmallVector.h.

◆  insert() [1/5]

template<typename T>
const T & Elt )
inline

Definition at line 816 of file SmallVector.h.

◆  insert() [2/5]

template<typename T>
template<typename ItTy, typename = EnableIfConvertibleToInputIterator<ItTy>>
ItTy From,
ItTy To )
inline

Definition at line 882 of file SmallVector.h.

◆  insert() [3/5]

template<typename T>
size_type NumToInsert,
ValueParamT Elt )
inline

Definition at line 820 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 940 of file SmallVector.h.

◆  insert() [5/5]

template<typename T>
T && Elt )
inline

Definition at line 812 of file SmallVector.h.

Referenced by llvm::GVNPass::ValueTable::add(), addData(), llvm::MachO::addEntry(), llvm::MipsInstrInfo::analyzeBranch(), checkIfSupported(), TransferTracker::clobberMloc(), llvm::cl::ExpansionContext::expandResponseFiles(), getSalvageOpsForGEP(), handleNewDebugValue(), llvm::const_iterator< MemoryLocation >::insert(), llvm::CallLowering::insertSRetIncomingArgument(), instCombineConvertFromSVBool(), isPointerUseReplacable(), LowerInterruptReturn(), llvm::LiveVariables::MarkVirtRegAliveInBlock(), llvm::sys::unicode::nearestMatchesForCodepointName(), llvm::yaml::MappingTraits< const InterfaceFile * >::NormalizedTBD_V4::NormalizedTBD_V4(), llvm::logicalview::LVBinaryReader::processLines(), llvm::InstrProfReaderItaniumRemapper< HashTableImpl >::reconstituteName(), llvm::AArch64TargetLowering::ReconstructShuffle(), llvm::WriteBitcodeToFile(), and llvm::dxil::WriteDXILToFile().

◆  operator!=()

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

Definition at line 961 of file SmallVector.h.

◆  operator<()

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

Definition at line 965 of file SmallVector.h.

◆  operator<=()

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

Definition at line 970 of file SmallVector.h.

◆  operator=() [1/2]

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

Definition at line 1011 of file SmallVector.h.

References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorTemplateCommon< T, typename >::capacity(), clear(), llvm::SmallVectorTemplateBase< T, bool >::destroy_range(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::SmallVectorTemplateBase< T, bool >::grow(), RHS, llvm::SmallVectorBase< SmallVectorSizeType< T > >::set_size(), llvm::SmallVectorTemplateCommon< T, typename >::size(), SmallVectorImpl(), and llvm::SmallVectorTemplateBase< T, bool >::uninitialized_copy().

Referenced by llvm::SmallVector< BitWord >::operator=(), llvm::SmallVector< BitWord >::operator=(), and llvm::SmallVector< BitWord >::operator=().

◆  operator=() [2/2]

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

Definition at line 1059 of file SmallVector.h.

References assignRemote(), llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorTemplateCommon< T, typename >::capacity(), clear(), llvm::SmallVectorTemplateBase< T, bool >::destroy_range(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::SmallVectorTemplateBase< T, bool >::grow(), RHS, llvm::SmallVectorBase< SmallVectorSizeType< T > >::set_size(), llvm::SmallVectorTemplateCommon< T, typename >::size(), SmallVectorImpl(), and llvm::SmallVectorTemplateBase< T, bool >::uninitialized_move().

◆  operator==()

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

Definition at line 957 of file SmallVector.h.

◆  operator>()

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

Definition at line 969 of file SmallVector.h.

◆  operator>=()

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

Definition at line 971 of file SmallVector.h.

◆  pop_back_n()

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

Definition at line 669 of file SmallVector.h.

Referenced by llvm::LoongArchMatInt::generateInstSeq().

◆  pop_back_val()

template<typename T>
T llvm::SmallVectorImpl< T >::pop_back_val ( )
inlinenodiscard

Definition at line 674 of file SmallVector.h.

Referenced by addAllGlobalValueUsers(), addBlockAndPredsToSet(), llvm::RecurrenceDescriptor::AddReductionVar(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), allPathsGoThroughCold(), allUsersAreInFunction(), allUsesOfLoadAndStores(), allUsesOfLoadedValueWillTrapIfNull(), analyzeLoopUnrollCost(), llvm::appendReversedLoopsToWorklist(), llvm::RegBankSelect::assignRegisterBanks(), llvm::SSAUpdaterImpl< UpdaterT >::BuildBlockList(), buildClonedLoops(), llvm::IDFCalculatorBase< NodeTy, IsPostDom >::calculate(), llvm::calculateClrEHStateNumbers(), llvm::calculateCXXStateForAsynchEH(), llvm::calculateSEHStateForAsynchEH(), canFoldStoreIntoLibCallOutputPointers(), canonicalizePHIOperands(), llvm::canReturn(), llvm::ScalarEvolution::canReuseInstruction(), llvm::MCGOFFStreamer::changeSection(), llvm::PatternMatch::undef_match::check(), checkClobberSanity(), llvm::Attributor::checkForAllUses(), checkMixedPrecision(), CleanupConstantGlobalUsers(), CleanupPointerRootUsers(), cleanupSinglePredPHIs(), clearAssumptionsOfUsers(), llvm::CloneAndPruneIntoFromInst(), cloneLoopNest(), collectBlockUseDef(), collectCastInstrs(), collectEHScopeMembers(), llvm::collectEphemeralRecipesForVPlan(), collectHomogenousInstGraphLoopInvariants(), collectLeaves(), collectSRATypes(), collectTransitivePredecessors(), llvm::colorEHFunclets(), combineOp_VLToVWOp_VL(), combineOrCmpEqZeroToCtlzSrl(), combineRedundantDWordShuffle(), llvm::FunctionComparator::compare(), computeBlocksDominatingExits(), llvm::computeDeadSymbolsAndUpdateIndirectCalls(), ModuleImportsManager::computeImportForModule(), ComputeLiveInBlocks(), llvm::computeMinimumValueSizes(), ComputePostOrders(), computeUnlikelySuccessors(), llvm::SMSchedule::computeUnpipelineableNodes(), ConstHasGlobalValuePredicate(), containsUnreachable(), convertToParamAS(), deleteDeadBlocksFromLoop(), llvm::ARMFrameLowering::determineCalleeSaves(), determinePointerAccessAttrs(), doPromotion(), llvm::VPlanTransforms::dropPoisonGeneratingRecipes(), llvm::SMSchedule::earliestCycleInChain(), llvm::SelectionDAGISel::EnforceNodeIdInvariant(), eraseDeadBBsAndChildren(), eraseDeadBBsAndChildren(), llvm::SCEVExpander::eraseDeadInstructions(), llvm::GIMatchTableExecutor::executeMatchTable(), feedsIntoVectorReduction(), llvm::findAllocaForValue(), findArgParts(), findBasePointer(), findDependencies(), llvm::MustBeExecutedContextExplorer::findForwardJoinPoint(), llvm::FindFunctionBackedges(), llvm::DWARFDie::findRecursively(), findRefEdges(), llvm::findValuesAffectedByCondition(), foldICmpOrXorSubChain(), forEachUser(), llvm::ScalarEvolution::forgetBlockAndLoopDispositions(), llvm::ScalarEvolution::forgetLoop(), formLCSSAForInstructionsImpl(), generateReproducer(), llvm::Attributor::getAssumedSimplifiedValues(), getBaseType(), llvm::RegionInfoBase< Tr >::getCommonRegion(), llvm::DominatorTreeBase< BlockT, false >::getDescendants(), llvm::ReachingDefInfo::getGlobalUses(), llvm::LoopBase< BlockT, LoopT >::getInnerLoopsInPreorder(), llvm::LoopInfoBase< BlockT, LoopT >::getLoopsInReverseSiblingPreorder(), llvm::AArch64TTIImpl::getMemoryOpCost(), llvm::BasicAAResult::getModRefInfoMask(), llvm::MemoryDependenceResults::getNonLocalCallDependency(), llvm::vputils::getRecipesForUncountableExit(), llvm::SystemZRegisterInfo::getRegAllocationHints(), llvm::slpvectorizer::BoUpSLP::getSpillCost(), llvm::AMDGPU::getTransitiveUsesOfLDS(), llvm::getUnderlyingObjectAggressive(), llvm::getUnderlyingObjects(), llvm::getUnderlyingObjectsForCodeGen(), getUnwindDestToken(), getUnwindDestTokenHelper(), llvm::slpvectorizer::BoUpSLP::getVectorElementSize(), HandleMergeInputChains(), hasAllNBitUsers(), hasAllNBitUsers(), hasCallsInBlocksBetween(), hasHardUserWithinLoop(), llvm::hasPartialIVCondition(), llvm::SDNode::hasPredecessorHelper(), llvm::HexagonMCShuffle(), hoistMulAddAssociation(), llvm::DebugHandlerBase::identifyScopeMarkers(), llvm::LazyCallGraph::RefSCC::insertIncomingRefEdge(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::InsertReachable(), llvm::MachineTraceMetrics::Ensemble::invalidate(), isAllocSiteRemovable(), llvm::LazyCallGraph::RefSCC::isAncestorOf(), llvm::LazyCallGraph::SCC::isAncestorOf(), isBlockValidForExtraction(), llvm::AMDGPU::isClobberedInFunction(), isConditionalOnXorOfPHIs(), isEphemeralValueOf(), llvm::RecurrenceDescriptor::isFixedOrderRecurrence(), llvm::SCEVExpander::isHighCostExpansion(), isKnownNonNullFromDominatingCondition(), isLoadCombineCandidate(), isLoopDead(), isNonEscapingGlobalNoAliasWithLoad(), isObjectSizeLessThanOrEq(), isOnlyCopiedFromConstantMemory(), isPotentiallyReachable(), isReachableAmongDominated(), isReachableImpl(), llvm::isSafeToDestroyConstant(), isSaveReachableThroughClean(), isSignExtendedW(), isSignExtendedW(), IsStoredObjCPointer(), isSuccOrder(), isUsedByLoadStoreAddress(), llvm::object::WasmSectionOrderChecker::isValidSectionOrder(), IsValueFullyAvailableInBlock(), llvm::SMSchedule::latestCycleInChain(), llvm::Legalizer::legalizeMachineFunction(), LinearizeExprTree(), llvm::LowerDbgDeclare(), markAliveBlocks(), markAllReachable(), markTails(), llvm::LiveVariables::MarkVirtRegAliveInBlock(), llvm::InstCombinerImpl::matchBSwapOrBitReverse(), matchMergedBFX(), memoryIsNotModifiedBetween(), mergeEltWithShuffle(), llvm::mustExecuteUBIfPoisonOnPathTo(), llvm::nonStrictlyPostDominate(), GlobalsImporter::onImportingSummary(), optimizeLoopExitWithUnknownExitCount(), parseCondition(), llvm::PointerMayBeCaptured(), llvm::AlignmentFromAssumptionsPass::processAssumption(), rebuildLoopAfterUnswitch(), llvm::LiveVariables::recomputeForSingleDefVirtReg(), recomputeLoopBlockSet(), recursivelyDeleteDeadRecipes(), llvm::RecursivelyDeleteTriviallyDeadInstructions(), llvm::SelectionDAG::RemoveDeadNodes(), llvm::AMDGPU::removeFnAttrFromReachable(), llvm::slpvectorizer::BoUpSLP::removeInstructionsAndOperands(), llvm::LazyCallGraph::RefSCC::removeInternalRefEdges(), llvm::MemorySSAUpdater::removeMemoryAccess(), removePAICalls(), replaceAccessesWithHandle(), replaceConstantExprOp(), llvm::DebugLoc::replaceInlinedAtSubprogram(), replaceLoopPHINodesWithPreheaderValues(), rewriteNonInstructionUses(), llvm::BPFASpaceCastSimplifyPass::run(), llvm::GenericCycleInfoCompute< ContextT >::run(), llvm::GlobalDCEPass::run(), llvm::LoopSinkPass::run(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runDFS(), llvm::LoopVectorizePass::runImpl(), runImpl(), runImpl(), runMoveAutoInit(), searchPredecessors(), llvm::LoopVectorizationCostModel::setCostBasedWideningDecision(), llvm::SUnit::setDepthDirty(), llvm::SUnit::setHeightDirty(), shouldTransformMulToShiftsAddsSubs(), llvm::simplifyLoop(), llvm::simplifyLoopAfterUnroll(), llvm::coro::sinkSpillUsesAfterCoroBegin(), SoleWriteToDeadLocal(), llvm::MachineBasicBlock::SplitCriticalEdge(), SRAGlobal(), llvm::LazyCallGraph::RefSCC::switchInternalEdgeToCall(), llvm::LazyCallGraph::RefSCC::switchInternalEdgeToRef(), llvm::PHITransAddr::translateWithInsertion(), llvm::LoopTraversal::traverse(), llvm::LegalizationArtifactCombiner::tryCombineInstruction(), llvm::SelectionDAG::updateDivergence(), updateLiveness(), llvm::JumpThreadingPass::updateSSA(), usersDominator(), llvm::cas::ObjectStore::validateTree(), valueIsOnlyUsedLocallyOrStoredToOneGlobal(), llvm::ScalarEvolution::verify(), verifyCTRBranch(), visitDomSubTree(), visitPointers(), and llvm::LazyCallGraph::visitReferences().

◆  reserve()

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

Definition at line 664 of file SmallVector.h.

Referenced by llvm::Annotations::Annotations(), llvm::const_iterator< MemoryLocation >::append(), appendToGlobalArray(), buildBitSets(), llvm::MachineIRBuilder::buildBuildVectorConstant(), llvm::memprof::buildCallstackMetadata(), buildClonedLoopBlocks(), buildClonedLoops(), buildCopyFromRegs(), llvm::sandboxir::LegalityAnalysis::canVectorize(), llvm::changeToUnreachable(), collectMemProfCallStacks(), combineOp_VLToVWOp_VL(), llvm::EHStreamer::computeActionsTable(), llvm::AccelTableBase::computeBucketCount(), llvm::computeDeadSymbolsAndUpdateIndirectCalls(), llvm::ConstantAggrKeyType< ConstantArray >::ConstantAggrKeyType(), llvm::TypedInit::convertInitializerBitRange(), convertStackObjects(), llvm::DIExpression::convertToVariadicExpression(), llvm::sandboxir::CleanupPadInst::create(), llvm::sandboxir::GetElementPtrInst::create(), createFunctionClones(), llvm::IRBuilderBase::CreateIntrinsic(), llvm::MDBuilder::createPCSections(), decodeBBAddrMapImpl(), llvm::memprof::deserializeV4(), llvm::ConnectedVNInfoEqClasses::Distribute(), llvm::Instruction::dropPoisonGeneratingReturnAttributes(), llvm::SelectionDAG::dump(), llvm::MCPseudoProbeSections::emit(), llvm::EHStreamer::emitExceptionTable(), emitTargetTaskProxyFunction(), llvm::sandboxir::EraseFromParent::EraseFromParent(), ExpandBVWithShuffles(), expandToSwitch(), llvm::FindInsertedValue(), llvm::slpvectorizer::BoUpSLP::findPartiallyOrderedLoads(), llvm::RecordStreamer::flushSymverDirectives(), foldExtractSubvectorFromShuffleVector(), llvm::sandboxir::ConstantArray::get(), llvm::sandboxir::ConstantStruct::get(), llvm::sandboxir::ConstantVector::get(), llvm::MachineInstrExpressionTrait::getHashValue(), llvm::sys::detail::getHostCPUNameForARM(), llvm::SelectionDAG::getMergeValues(), llvm::MDNode::getMostGenericRange(), llvm::ScalarEvolution::getMulExpr(), llvm::lto::LTO::getRuntimeLibcallSymbols(), llvm::sandboxir::ConstantStruct::getTypeForElements(), getTypeWithoutPadding(), llvm::getValueProfDataFromInst(), hoistLockstepIdenticalDbgVariableRecords(), llvm::InlineFunctionImpl(), llvm::yaml::CustomMappingTraits< GlobalValueSummaryMapTy >::inputOne(), llvm::const_iterator< MemoryLocation >::insert(), llvm::MachineInstr::insert(), insertParsePoints(), insertVector(), llvm::Type::isScalableTy(), loadNaiveFormatLog(), lowerBUILD_VECTOR(), lowerBuildVectorViaPacking(), makeStatepointExplicit(), llvm::MergeBasicBlockIntoOnlyPred(), mergeCompatibleInvokesImpl(), mergeConsecutivePartStores(), llvm::LegalizerHelper::narrowScalarAddSub(), llvm::sys::unicode::nearestMatchesForCodepointName(), OptimizeAwayTrappingUsesOfValue(), llvm::slpvectorizer::BoUpSLP::optimizeGatherSequence(), llvm::memprof::YAMLMemProfReader::parse(), parseScalarValue(), llvm::performOptimizedStructLayout(), llvm::PointerMayBeCaptured(), llvm::CallGraph::print(), llvm::sandboxir::DependencyGraph::print(), llvm::memprof::CallStackLookupTrait::ReadData(), llvm::BitstreamCursor::readRecord(), rebuildLoopAfterUnswitch(), llvm::WebAssemblyExceptionInfo::recalculate(), llvm::InstrProfReaderItaniumRemapper< HashTableImpl >::reconstituteName(), relocationViaAlloca(), llvm::DagInit::resolveReferences(), llvm::VarDefInit::resolveReferences(), runImpl(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::runSemiNCA(), llvm::SplitBlockAndInsertIfThenElse(), llvm::splitBlockBefore(), SplitBlockImpl(), llvm::coro::AnyRetconABI::splitCoroutine(), llvm::coro::AsyncABI::splitCoroutine(), llvm::SplitIndirectBrCriticalEdges(), llvm::stableHashValue(), swap(), transformGlobalArray(), tryConstantFoldCall(), llvm::TryToSimplifyUncondBranchFromEmptyBlock(), unswitchNontrivialInvariants(), UpdateAnalysisInformation(), llvm::InstCombinerImpl::visitLandingPadInst(), llvm::widenShuffleMaskElts(), llvm::mcdxbc::Signature::write(), llvm::write(), llvm::WriteBitcodeToFile(), llvm::dxil::WriteDXILToFile(), writeFunctionHeapProfileRecords(), 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 639 of file SmallVector.h.

Referenced by addData(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), calculateRtStride(), llvm::slpvectorizer::BoUpSLP::canVectorizeLoads(), llvm::mca::RegisterFile::collectWrites(), llvm::EHStreamer::computeCallSiteTable(), llvm::WasmException::computeCallSiteTable(), concatenate(), llvm::convertUTF8ToUTF16String(), copyBytesForDefRange(), llvm::IRBuilderBase::CreateVectorSplat(), llvm::DependenceInfo::depends(), llvm::ConnectedVNInfoEqClasses::Distribute(), llvm::yaml::SequenceTraits< SmallVector< memprof::GUIDHex64 > >::element(), llvm::DwarfStringPool::emit(), llvm::SystemZHLASMAsmStreamer::emitBytes(), llvm::MCStreamer::emitIntValue(), llvm::GIMatchTableExecutor::executeMatchTable(), llvm::extractConstantMask(), extractFromBranchWeightMD(), findBuildAggregate(), llvm::SplitEditor::finish(), llvm::PGOContextualProfile::flatten(), llvm::RegsForValue::getCopyFromRegs(), llvm::pdb::DIARawSymbol::getDataBytes(), llvm::GenericCycle< ContextT >::getExitBlocks(), llvm::LLVMContext::getMDKindNames(), llvm::MDNode::getMostGenericRange(), getNoopInput(), llvm::LLVMContextImpl::getOperandBundleTags(), llvm::GetShadowBytes(), llvm::DependenceInfo::getSplitIteration(), llvm::LLVMContextImpl::getSyncScopeNames(), getTargetConstantBitsFromNode(), getUnmergeResults(), getVPermMask(), llvm::AMDGPULegalizerInfo::handleD16VData(), llvm::ResourceManager::initProcResourceVectors(), llvm::ShuffleVectorInst::isInterleaveMask(), llvm::AMDGPULegalizerInfo::legalizeImageIntrinsic(), llvm::object::ELFFile< ELFT >::loadVersionMap(), llvm::TargetLowering::LowerCallTo(), LowerCONCAT_VECTORS_i1(), LowerShift(), lowerV8I16GeneralSingleInputShuffle(), llvm::Regex::match(), llvm::CombinerHelper::matchCombineInsertVecElts(), llvm::Triple::normalize(), packSegmentMask(), parseBuildVersionCommand(), llvm::MCContext::parseSymbol(), performBlockTailMerging(), llvm::JumpThreadingPass::processBranchOnPHI(), llvm::coverage::RawCoverageMappingReader::read(), readArray(), readLine(), llvm::Attributor::registerFunctionSignatureRewrite(), reorderOrder(), llvm::SelectionDAGISel::SelectCodeCommon(), simplifySwitchOfCmpIntrinsic(), SimplifyValuePattern(), llvm::SmallVector< BitWord >::SmallVector(), llvm::sortPtrAccesses(), llvm::DominatorTreeBase< BlockT, false >::updateBlockNumbers(), and llvm::mustache::AddIndentationStringStream::write_impl().

◆  resize() [2/2]

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

Definition at line 651 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 642 of file SmallVector.h.

Referenced by readLine(), llvm::sys::fs::readNativeFileToEOF(), and llvm::toHex().

◆  swap()

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

Definition at line 975 of file SmallVector.h.

References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorBase< SmallVectorSizeType< T > >::BeginX, llvm::SmallVectorBase< SmallVectorSizeType< T > >::Capacity, llvm::SmallVectorTemplateBase< T, bool >::destroy_range(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::SmallVectorTemplateCommon< T, typename >::isSmall(), reserve(), RHS, llvm::SmallVectorBase< SmallVectorSizeType< T > >::set_size(), llvm::SmallVectorBase< SmallVectorSizeType< T > >::Size, llvm::SmallVectorTemplateCommon< T, typename >::size(), SmallVectorImpl(), std::swap(), and llvm::SmallVectorTemplateBase< T, bool >::uninitialized_copy().

Referenced by llvm::CCState::AnalyzeArgumentsSecondPass(), llvm::sys::fs::createUniquePath(), ExpandBVWithShuffles(), isMaskedLoadCompress(), llvm::TargetLowering::LowerCallTo(), llvm::MachO::make_relative(), llvm::orc::normalizePathSegments(), llvm::sys::path::remove_dots(), reorderOrder(), reorderReuses(), llvm::reorderScalars(), llvm::LiveIntervals::shrinkToUses(), llvm::LiveIntervals::shrinkToUses(), llvm::WebAssemblyDebugValueManager::sink(), llvm::LazyCallGraph::RefSCC::switchInternalEdgeToRef(), and tryToVectorizeSequence().

◆  truncate()

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

Like resize, but requires that N is less than size() .

Definition at line 645 of file SmallVector.h.

Referenced by buildCopyFromRegs(), llvm::AMDGPULegalizerInfo::legalizeBufferLoad(), llvm::const_iterator< MemoryLocation >::pop_back_n(), llvm::sys::fs::readNativeFileToEOF(), and llvm::const_iterator< MemoryLocation >::resize().


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

Generated on for LLVM by doxygen 1.14.0

AltStyle によって変換されたページ (->オリジナル) /