LLVM API Documentation
#include <SmallVector.h>
Inherits llvm::SmallVectorTemplateCommon< T >.
Public Member Functions | |
void | push_back (const T &Elt) |
void | push_back (T &&Elt) |
void | pop_back () |
Protected Member Functions | |
SmallVectorTemplateBase (size_t Size) | |
void | grow (size_t MinSize=0) |
Static Protected Member Functions | |
static void | destroy_range (T *S, T *E) |
template<typename It1 , typename It2 > | |
static It2 | move (It1 I, It1 E, It2 Dest) |
template<typename It1 , typename It2 > | |
static It2 | move_backward (It1 I, It1 E, It2 Dest) |
template<typename It1 , typename It2 > | |
static void | uninitialized_move (It1 I, It1 E, It2 Dest) |
template<typename It1 , typename It2 > | |
static void | uninitialized_copy (It1 I, It1 E, It2 Dest) |
SmallVectorTemplateBase<isPodLike = false> - This is where we put method implementations that are designed to work with non-POD-like T's.
Definition at line 168 of file SmallVector.h.
llvm::SmallVectorTemplateBase< T, isPodLike >::SmallVectorTemplateBase | ( | size_t | Size | ) | [inline, protected] |
Definition at line 170 of file SmallVector.h.
static void llvm::SmallVectorTemplateBase< T, isPodLike >::destroy_range | ( | T * | S, |
T * | E | ||
) | [inline, static, protected] |
Definition at line 172 of file SmallVector.h.
void llvm::SmallVectorTemplateBase< T, isPodLike >::grow | ( | size_t | MinSize = 0 | ) | [protected] |
Grow the allocated memory (without initializing new elements), doubling the size of the allocated memory. Guarantees space for at least one more element, or MinSize more elements if specified.
Definition at line 243 of file SmallVector.h.
References llvm::sys::path::begin(), llvm::sys::path::end(), llvm::LibFunc::free, llvm::LibFunc::malloc, and llvm::NextPowerOf2().
Referenced by llvm::SmallVectorTemplateBase< Segment, isPodLike< Segment >::value >::push_back(), and llvm::SmallVectorTemplateBase< T, true >::push_back().
static It2 llvm::SmallVectorTemplateBase< T, isPodLike >::move | ( | It1 | I, |
It1 | E, | ||
It2 | Dest | ||
) | [inline, static, protected] |
Use move-assignment to move the range [I, E) onto the objects starting with "Dest". This is just <memory>'s std::move, but not all stdlibs actually provide that.
Definition at line 183 of file SmallVector.h.
Referenced by llvm::SmallVectorTemplateBase< Segment, isPodLike< Segment >::value >::move_backward().
static It2 llvm::SmallVectorTemplateBase< T, isPodLike >::move_backward | ( | It1 | I, |
It1 | E, | ||
It2 | Dest | ||
) | [inline, static, protected] |
Use move-assignment to move the range [I, E) onto the objects ending at "Dest", moving objects in reverse order. This is just <algorithm>'s std::move_backward, but not all stdlibs actually provide that.
Definition at line 194 of file SmallVector.h.
void llvm::SmallVectorTemplateBase< T, isPodLike >::pop_back | ( | ) | [inline] |
Definition at line 235 of file SmallVector.h.
Referenced by llvm::MachineInstr::addRegisterDead(), llvm::MachineInstr::addRegisterKilled(), advanceToNextLeafType(), llvm::MipsInstrInfo::AnalyzeBranch(), BuildSubAggregate(), llvm::ArrayRecycler< MachineOperand >::clear(), createUniqueEntity(), llvm::Instruction::dropUnknownMetadata(), llvm::DWARFContextInMemory::DWARFContextInMemory(), EmitAddTreeOfValues(), llvm::yaml::Output::endFlowSequence(), llvm::WinCodeViewLineTables::endFunction(), llvm::yaml::Output::endMapping(), llvm::yaml::Output::endSequence(), llvm::SparseSet< RootData >::erase(), llvm::ScalarEvolution::getAddRecExpr(), llvm::object::ExportEntry::moveNext(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::operator--(), llvm::yaml::Output::postflightKey(), llvm::ARMFrameLowering::processFunctionBeforeCalleeSavedScan(), llvm::AArch64FrameLowering::processFunctionBeforeCalleeSavedScan(), llvm::DAGTypeLegalizer::run(), llvm::Instruction::setMetadata(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::skipToParent(), and llvm::Twine::toNullTerminatedStringRef().
void llvm::SmallVectorTemplateBase< T, isPodLike >::push_back | ( | const T & | Elt | ) | [inline] |
Definition at line 221 of file SmallVector.h.
Referenced by llvm::opt::Option::accept(), llvm::SDDbgInfo::add(), llvm::BitCodeAbbrev::Add(), llvm::PMDataManager::add(), AddAliasScopeMetadata(), llvm::opt::ArgList::AddAllArgsTranslated(), llvm::opt::ArgList::AddAllArgValues(), llvm::MCJIT::addArchive(), llvm::DIEAbbrev::AddAttribute(), llvm::LexicalScope::addChild(), AddCombineTo64bitMLAL(), AddCombineToVPADDL(), llvm::MCLOHContainer::addDirective(), llvm::GCOVBlock::addDstEdge(), llvm::DwarfDebug::addDwarfTypeUnitType(), llvm::ConstantPool::addEntry(), llvm::SMDiagnostic::addFixIt(), llvm::DIInliningInfo::addFrame(), llvm::PMTopLevelManager::addImmutablePass(), llvm::PMTopLevelManager::addIndirectPassManager(), llvm::CCState::addInRegsParamInfo(), llvm::FoldingSetNodeID::AddInteger(), llvm::MachineModuleInfo::addInvoke(), llvm::AddLandingPadInfo(), llvm::GCOVBlock::addLine(), llvm::SpillPlacement::Node::addLink(), llvm::SpillPlacement::addLinks(), llvm::cl::parser< const PassInfo * >::addLiteralOption(), llvm::LiveRangeCalc::addLiveInBlock(), llvm::Hexagon_CCState::addLoc(), llvm::CCState::addLoc(), llvm::AArch64FunctionInfo::addLOHDirective(), llvm::ExecutionEngine::addModule(), llvm::PPCFunctionInfo::addMustSaveCR(), llvm::MCJIT::addObjectFile(), AddOperand(), llvm::MCInst::addOperand(), llvm::NamedMDNode::addOperand(), llvm::PMTopLevelManager::addPassManager(), llvm::SUnit::addPred(), llvm::AnalysisUsage::addPreserved(), llvm::AnalysisUsage::addPreservedID(), llvm::RangeSpanList::addRange(), addRange(), llvm::DwarfCompileUnit::addRange(), llvm::DwarfUnit::addRangeList(), llvm::MachineInstr::addRegisterDead(), llvm::MachineInstr::addRegisterKilled(), llvm::AnalysisUsage::addRequiredID(), llvm::AnalysisUsage::addRequiredTransitiveID(), llvm::RegScavenger::addScavengingFrameIndex(), llvm::GCOVBlock::addSrcEdge(), addStackMapLiveVars(), llvm::FoldingSetNodeID::AddString(), llvm::opt::DerivedArgList::AddSynthesizedArg(), llvm::DwarfFile::addUnit(), llvm::DIE::addValue(), advanceToNextLeafType(), llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold >::Allocate(), llvm::MipsInstrInfo::AnalyzeBranch(), llvm::sys::path::append(), AreAnyUnderlyingObjectsAnAlloca(), llvm::opt::Arg::Arg(), llvm::yaml::Output::beginFlowSequence(), llvm::WinCodeViewLineTables::beginFunction(), llvm::yaml::Output::beginMapping(), llvm::DwarfDebug::beginModule(), llvm::yaml::Output::beginSequence(), llvm::SSAUpdaterImpl< UpdaterT >::BuildBlockList(), buildFromShuffleMostly(), buildGraphFrom(), BuildSubAggregate(), llvm::CC_ARM_AAPCS_Custom_HA(), ChangeVSETULTtoVSETULE(), CheckForLiveRegDef(), CheckForLiveRegDefMasked(), llvm::cleanseInlinedVariable(), CloneAliasScopeMetadata(), CloneNodeWithValues(), llvm::RegPressureTracker::closeBottom(), llvm::LexicalScope::closeInsnRange(), llvm::RegPressureTracker::closeTop(), CollectAddOperandsWithScales(), collectDebugValues(), llvm::PMTopLevelManager::collectLastUses(), llvm::PMDataManager::collectRequiredAnalysis(), CollectSubexprs(), CombineBaseUpdate(), combineRedundantDWordShuffle(), combineX86ShufflesRecursively(), llvm::SCEVAddRecExpr::computeAccessFunctions(), llvm::EHStreamer::computeActionsTable(), llvm::LiveIntervals::computeDeadValues(), computeOthers(), llvm::MachObjectWriter::ComputeSymbolTable(), ConstantFoldGetElementPtrImpl(), llvm::SelectionDAGBuilder::CopyValueToVirtualRegister(), llvm::LiveRange::createDeadDef(), llvm::DIBuilder::createEnumerationType(), llvm::DIBuilder::createFunction(), llvm::DIBuilder::createGlobalVariable(), llvm::createInlinedVariable(), llvm::DIBuilder::createMethod(), llvm::DIBuilder::createStaticVariable(), createUniqueEntity(), llvm::LiveRange::createValueCopy(), llvm::DebugLocEntry::DebugLocEntry(), llvm::DecodeBLENDMask(), llvm::DecodeINSERTPSMask(), llvm::DecodeMOVHLPSMask(), llvm::DecodeMOVLHPSMask(), llvm::DecodeMOVSHDUPMask(), llvm::DecodeMOVSLDUPMask(), llvm::DecodePALIGNRMask(), llvm::DecodePSHUFBMask(), llvm::DecodePSHUFHWMask(), llvm::DecodePSHUFLWMask(), llvm::DecodePSHUFMask(), llvm::DecodeSHUFPMask(), llvm::DecodeUNPCKHMask(), llvm::DecodeUNPCKLMask(), llvm::DecodeVPERM2X128Mask(), llvm::DecodeVPERMMask(), llvm::DeleteDeadPHIs(), DeleteTriviallyDeadInstructions(), llvm::RegPressureTracker::discoverLiveIn(), llvm::RegPressureTracker::discoverLiveOut(), llvm::ConnectedVNInfoEqClasses::Distribute(), llvm::BlockFrequencyInfoImplBase::distributeMass(), llvm::AsmPrinter::doInitialization(), DoInitialMatch(), llvm::MCWinCOFFStreamer::EmitCOFFSecRel32(), llvm::MCWinCOFFStreamer::EmitCOFFSectionIndex(), EmitDarwinBCHeaderAndTrailer(), llvm::ExecutionEngine::emitGlobals(), llvm::MCObjectStreamer::EmitGPRel32Value(), llvm::MCObjectStreamer::EmitGPRel64Value(), llvm::PPCDispatchGroupSBHazardRecognizer::EmitInstruction(), llvm::MCWinCOFFStreamer::EmitInstToData(), llvm::PPCDispatchGroupSBHazardRecognizer::EmitNoop(), llvm::SystemZFrameLowering::emitPrologue(), llvm::UnwindOpcodeAssembler::EmitRaw(), llvm::ScheduleDAGSDNodes::EmitSchedule(), llvm::MCObjectStreamer::EmitValueImpl(), encodeUTF8(), llvm::detail::PtrUseVisitorBase::enqueueUsers(), enqueueUsersInWorklist(), llvm::BitstreamCursor::EnterSubBlock(), llvm::ExecutionEngine::ExecutionEngine(), ExpandBVWithShuffles(), ExpandUnalignedLoad(), ExpandUnalignedStore(), ExtendUsesToFormExtLoad(), llvm::SelectionDAG::ExtractVectorElements(), llvm::DIBuilder::finalize(), llvm::ScalarEvolution::findArrayDimensions(), findArrayDimensionsRec(), llvm::SSAUpdaterImpl< UpdaterT >::FindAvailableVals(), llvm::SlotIndexes::findLiveInMBBs(), llvm::SSAUpdaterTraits< SSAUpdater >::FindPredecessorBlocks(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::FindPredecessorBlocks(), llvm::ScheduleDAGMI::findRootsAndBiasEdges(), FindSingleUseMultiplyFactors(), llvm::MachineInstr::findTiedOperandIdx(), FindUnconditionalPreds(), llvm::SplitEditor::finish(), firstRealType(), fixupSubprogramName(), llvm::InstCombiner::FoldCmpLoadFromIndexedGlobal(), llvm::AArch64InstrInfo::genAlternativeCodeSequence(), llvm::MCJIT::generateCodeForModule(), GenerateTBL(), genMadd(), genMaddR(), llvm::ScalarEvolution::getAddExpr(), llvm::ConstantExpr::getAsInstruction(), getBranchTargetOpValue(), llvm::SelectionDAG::getConstant(), llvm::SelectionDAGBuilder::getControlRoot(), getExactSDiv(), llvm::cl::generic_parser_base::getExtraOptionNames(), llvm::MCDwarfLineTableHeader::getFile(), llvm::NVPTXMachineFunctionInfo::getImageHandleSymbolIndex(), llvm::DWARFDebugInfoEntryMinimal::getInlinedChainForAddress(), llvm::Intrinsic::getIntrinsicInfoTableEntries(), llvm::object::MachOObjectFile::getLibraryShortNameByIndex(), llvm::DWARFContext::getLineInfoForAddressRange(), llvm::MCContext::getMachOSection(), llvm::ManagedStringPool::getManagedString(), getMemCmpLoad(), getMemcpyLoadsAndStores(), getMemmoveLoadsAndStores(), getMemsetStores(), llvm::ScalarEvolution::getMulExpr(), getNaturalGEPRecursively(), getNaturalGEPWithOffset(), getNaturalGEPWithType(), llvm::LiveRange::getNextValue(), llvm::SelectionDAG::getNode(), llvm::MipsTargetLowering::getOpndList(), GetOptionInfo(), llvm::LexicalScopes::getOrCreateAbstractScope(), llvm::AMDGPUTargetLowering::getOriginalFunctionArgs(), getPossibleTargets(), getPSHUFB(), getReadPerformanceCounter(), getReadTimeStampCounter(), llvm::ARMBaseRegisterInfo::getRegAllocationHints(), llvm::TargetRegisterInfo::getRegAllocationHints(), GetRegistersForValue(), llvm::GetReturnInfo(), llvm::RegScavenger::getScavengingFrameIndices(), llvm::ShuffleVectorInst::getShuffleMask(), getShuffleVectorZeroOrUndef(), llvm::SelectionDAG::getStackArgumentTokenFactor(), llvm::ConstantDataArray::getString(), getTargetShuffleMask(), getTargetVShiftByConstNode(), getUnderlyingObjects(), llvm::GetUnderlyingObjects(), getUnderlyingObjectsForInstr(), llvm::Loop::getUniqueExitBlocks(), llvm::yaml::ScalarNode::getValue(), llvm::MachineSSAUpdater::GetValueInMiddleOfBlock(), llvm::SSAUpdater::GetValueInMiddleOfBlock(), llvm::IntEqClasses::grow(), HandleByValArgument(), llvm::SCEVExpander::hoistIVInc(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::ImutAVLTreeGenericIterator(), InlineCallIfPossible(), llvm::InlineFunction(), llvm::SparseSet< RootData >::insert(), llvm::LiveIntervals::insertMBBInMaps(), llvm::SlotIndexes::insertMBBInMaps(), llvm::TargetPassConfig::insertPass(), InstCombineStoreToCast(), llvm::MDNode::intersect(), isAllocSiteRemovable(), isOnlyCopiedFromConstantGlobal(), llvm::isPotentiallyReachable(), isProfitableToFoldUnconditional(), llvm::SpillPlacement::iterate(), llvm::LiveRange::join(), llvm::LazyCallGraph::LazyCallGraph(), LinearizeExprTree(), LookupNearestOption(), llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::HexagonTargetLowering::LowerCallResult(), LowerCallResult(), llvm::FastISel::lowerCallTo(), llvm::TargetLowering::LowerCallTo(), llvm::LowerDbgDeclare(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::NVPTXTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), llvm::AMDGPUTargetLowering::LowerGlobalAddress(), LowerMemOpCallTo(), llvm::R600TargetLowering::LowerOperation(), llvm::MipsTargetLowering::LowerOperationWrapper(), llvm::TargetLowering::LowerOperationWrapper(), llvm::NVPTXTargetLowering::LowerReturn(), LowerShift(), lowerV8I16BasicBlendVectorShuffle(), LowerVECTOR_SHUFFLE(), LowerVECTOR_SHUFFLE_256(), LowerVECTOR_SHUFFLEv8i8(), LowerVectorAllZeroTest(), llvm::object::MachOObjectFile::MachOObjectFile(), llvm::opt::DerivedArgList::MakeFlagArg(), llvm::opt::InputArgList::MakeIndex(), llvm::opt::DerivedArgList::MakeJoinedArg(), llvm::opt::DerivedArgList::MakePositionalArg(), llvm::opt::DerivedArgList::MakeSeparateArg(), mangleCoveragePath(), llvm::MachineFrameInfo::mapLocalFrameObject(), llvm::MapValue(), llvm::Regex::match(), llvm::MCAsmLayout::MCAsmLayout(), llvm::MCDwarfCallFrameFragment::MCDwarfCallFrameFragment(), llvm::MCDwarfLineAddrFragment::MCDwarfLineAddrFragment(), llvm::MCLEBFragment::MCLEBFragment(), llvm::MCStreamer::MCStreamer(), llvm::MipsELFStreamer::MipsELFStreamer(), MoveBelowOrigChain(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::operator++(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::operator--(), OptimizeVectorResize(), parseBackslash(), ParseFunctionArgs(), PerformBUILD_VECTORCombine(), llvm::SITargetLowering::PerformDAGCombine(), performNEONPostLDSTCombine(), performPostLD1Combine(), PerformSTORECombine(), PerformVECTOR_SHUFFLECombine(), llvm::PHITransAddr::PHITransAddr(), llvm::yaml::Output::postflightKey(), PrepareCall(), llvm::FileInfo::print(), llvm::MachineInstr::print(), llvm::ARMFrameLowering::processFunctionBeforeCalleeSavedScan(), llvm::AArch64FrameLowering::processFunctionBeforeCalleeSavedScan(), promoteSingleBlockAlloca(), llvm::LiveIntervals::pruneValue(), PushDefUseChildren(), PushLoopPHIs(), RegisterOperands::pushRegUnits(), llvm::MCStreamer::PushSection(), pushValue(), PushValueAndType(), llvm::coverage::RawCoverageMappingReader::read(), llvm::GCOVFile::readGCNO(), llvm::GCOVFunction::readGCNO(), llvm::MachineInstr::readsWritesVirtualRegister(), llvm::RegPressureTracker::recede(), llvm::LessRecordRegister::RecordParts::RecordParts(), llvm::PostGenericScheduler::releaseBottomNode(), llvm::SelectionDAG::RemoveDeadNodes(), llvm::LazyCallGraph::SCC::removeInterSCCEdge(), llvm::opt::Arg::render(), llvm::opt::Arg::renderAsInput(), llvm::LiveRange::RenumberValues(), llvm::sys::path::replace_extension(), ReplaceATOMIC_LOAD(), ReplaceBITCASTResults(), llvm::SCEVExpander::replaceCongruentIVs(), llvm::replaceDbgDeclareForAlloca(), replaceInChain(), ReplaceINTRINSIC_W_CHAIN(), ReplaceLoadVector(), llvm::R600TargetLowering::ReplaceNodeResults(), llvm::XCoreTargetLowering::ReplaceNodeResults(), llvm::AMDGPUTargetLowering::ReplaceNodeResults(), llvm::SparcTargetLowering::ReplaceNodeResults(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::PPCTargetLowering::ReplaceNodeResults(), ReplaceREADCYCLECOUNTER(), llvm::UnwindOpcodeAssembler::Reset(), llvm::MCStreamer::reset(), llvm::DIBuilder::retainType(), RewriteHeapSROALoadUser(), RewriteIntelBracExpression(), rewriteNonInstructionUses(), llvm::DAGTypeLegalizer::run(), llvm::SlotIndexes::runOnMachineFunction(), llvm::AMDGPUTargetLowering::ScalarizeVectorLoad(), llvm::AMDGPUTargetLowering::ScalarizeVectorStore(), llvm::SpillPlacement::scanActiveBundles(), llvm::RegScavenger::scavengeRegister(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::SUnit::setDepthDirty(), llvm::SUnit::setHeightDirty(), SetLoopAlreadyUnrolled(), llvm::Instruction::setMetadata(), llvm::StructType::setName(), llvm::MachineModuleInfo::setVariableDbgInfo(), SimplifyAddOperands(), SkipExtensionForVMULL(), llvm::StringRef::split(), SplitAddRecs(), splitAndLower256BitVectorShuffle(), llvm::MachineBasicBlock::SplitCriticalEdge(), llvm::SplitLandingPadPredecessors(), llvm::SplitString(), SRAGlobal(), llvm::LivePhysRegs::stepForward(), StoreTailCallArgumentsToStackSlot(), llvm::cl::TokenizeGNUCommandLine(), llvm::cl::TokenizeWindowsCommandLine(), llvm::Twine::toNullTerminatedStringRef(), llvm::APFloat::toString(), llvm::APInt::toString(), TrackDefUses(), tryToFoldExtendOfConstant(), llvm::IntEqClasses::uncompress(), llvm::SelectionDAG::UnrollVectorOp(), llvm::UnwindOpcodeAssembler::UnwindOpcodeAssembler(), UpdateCallGraphAfterInlining(), updatePhysDepsDownwards(), updatePhysDepsUpwards(), llvm::cl::ValuesClass< DataType >::ValuesClass(), llvm::InstCombiner::visitExtractValueInst(), llvm::InstCombiner::visitShuffleVectorInst(), WalkChainUsers(), and writeComdats().
void llvm::SmallVectorTemplateBase< T, isPodLike >::push_back | ( | T && | Elt | ) | [inline] |
Definition at line 228 of file SmallVector.h.
static void llvm::SmallVectorTemplateBase< T, isPodLike >::uninitialized_copy | ( | It1 | I, |
It1 | E, | ||
It2 | Dest | ||
) | [inline, static, protected] |
Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements as needed.
Definition at line 211 of file SmallVector.h.
Referenced by llvm::SmallVectorTemplateBase< Segment, isPodLike< Segment >::value >::uninitialized_copy(), llvm::SmallVectorTemplateBase< T, true >::uninitialized_copy(), and llvm::SmallVectorTemplateBase< T, true >::uninitialized_move().
static void llvm::SmallVectorTemplateBase< T, isPodLike >::uninitialized_move | ( | It1 | I, |
It1 | E, | ||
It2 | Dest | ||
) | [inline, static, protected] |
Move the range [I, E) into the uninitialized memory starting with "Dest", constructing elements as needed.
Definition at line 203 of file SmallVector.h.