LLVM API Documentation

Public Member Functions | Protected Member Functions | Static Protected Member Functions
llvm::SmallVectorTemplateBase< T, isPodLike > Class Template Reference

#include <SmallVector.h>

Inherits llvm::SmallVectorTemplateCommon< T >.

Collaboration diagram for llvm::SmallVectorTemplateBase< T, isPodLike >:
Collaboration graph
[legend]

List of all members.

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)

Detailed Description

template<typename T, bool isPodLike>
class llvm::SmallVectorTemplateBase< T, isPodLike >

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.


Constructor & Destructor Documentation

template<typename T, bool isPodLike>
llvm::SmallVectorTemplateBase< T, isPodLike >::SmallVectorTemplateBase ( size_t  Size) [inline, protected]

Definition at line 170 of file SmallVector.h.


Member Function Documentation

template<typename T, bool isPodLike>
static void llvm::SmallVectorTemplateBase< T, isPodLike >::destroy_range ( T S,
T E 
) [inline, static, protected]

Definition at line 172 of file SmallVector.h.

template<typename T , bool isPodLike>
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().

template<typename T, bool isPodLike>
template<typename It1 , typename It2 >
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().

template<typename T, bool isPodLike>
template<typename It1 , typename It2 >
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.

template<typename T, bool isPodLike>
void llvm::SmallVectorTemplateBase< T, isPodLike >::pop_back ( ) [inline]
template<typename T, bool isPodLike>
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(), llvm::DwarfCompileUnit::addRange(), addRange(), llvm::MachineInstr::addRegisterDead(), llvm::MachineInstr::addRegisterKilled(), llvm::AnalysisUsage::addRequiredID(), llvm::AnalysisUsage::addRequiredTransitiveID(), llvm::RegScavenger::addScavengingFrameIndex(), llvm::DwarfCompileUnit::addScopeRangeList(), 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(), llvm::A57ChainingConstraint::apply(), AreAnyUnderlyingObjectsAnAlloca(), llvm::opt::Arg::Arg(), llvm::DwarfCompileUnit::attachRangesOrLowHighPC(), 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(), canWidenShuffleElements(), llvm::CC_ARM_AAPCS_Custom_HA(), ChangeVSETULTtoVSETULE(), CheckForLiveRegDef(), CheckForLiveRegDefMasked(), CloneAliasScopeMetadata(), CloneLoopBlocks(), CloneNodeWithValues(), llvm::RegPressureTracker::closeBottom(), llvm::LexicalScope::closeInsnRange(), llvm::RegPressureTracker::closeTop(), CollectAddOperandsWithScales(), collectDebugValues(), llvm::PMTopLevelManager::collectLastUses(), llvm::PMDataManager::collectRequiredAnalysis(), CollectSubexprs(), CombineBaseUpdate(), combineRedundantDWordShuffle(), llvm::SCEVAddRecExpr::computeAccessFunctions(), llvm::EHStreamer::computeActionsTable(), llvm::LiveIntervals::computeDeadValues(), computeOthers(), ConstantFoldGetElementPtrImpl(), llvm::SelectionDAGBuilder::CopyValueToVirtualRegister(), llvm::LiveRange::createDeadDef(), llvm::DIBuilder::createEnumerationType(), llvm::DIBuilder::createFunction(), llvm::DIBuilder::createGlobalVariable(), llvm::DIBuilder::createMethod(), 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::DecodePSLLDQMask(), llvm::DecodePSRLDQMask(), llvm::DecodeSHUFPMask(), llvm::DecodeUNPCKHMask(), llvm::DecodeUNPCKLMask(), llvm::DecodeVPERM2X128Mask(), llvm::DecodeVPERMILPMask(), 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::MipsELFStreamer::EmitLabel(), 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(), ExpandUnalignedLoad(), ExpandUnalignedStore(), ExtendUsesToFormExtLoad(), llvm::SelectionDAG::ExtractVectorElements(), llvm::DIBuilder::finalize(), llvm::RuntimeDyldELF::finalizeLoad(), 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(), 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(), 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(), llvm::MDNode::intersect(), isAllocSiteRemovable(), isOnlyCopiedFromConstantGlobal(), llvm::isPotentiallyReachable(), isProfitableToFoldUnconditional(), llvm::SpillPlacement::iterate(), llvm::LiveRange::join(), llvm::LazyCallGraph::LazyCallGraph(), llvm::SITargetLowering::legalizeTargetIndependentNode(), 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(), llvm::AMDGPUTargetLowering::LowerUDIVREM64(), lowerV8I16BasicBlendVectorShuffle(), LowerVECTOR_SHUFFLE(), 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(), llvm::PHITransAddr::PHITransAddr(), llvm::yaml::Output::postflightKey(), PrepareCall(), llvm::FileInfo::print(), llvm::MachineInstr::print(), llvm::ARMFrameLowering::processFunctionBeforeCalleeSavedScan(), llvm::AArch64FrameLowering::processFunctionBeforeCalleeSavedScan(), llvm::RuntimeDyldELF::processRelocationRef(), 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::RuntimeDyldELF::registerEHFrames(), 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(), ReplaceBITCASTResults(), llvm::SCEVExpander::replaceCongruentIVs(), 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(), skipExtensionForVectorMULL(), SkipExtensionForVMULL(), llvm::StringRef::split(), SplitAddRecs(), 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(), WalkChainUsers(), and writeComdats().

template<typename T, bool isPodLike>
void llvm::SmallVectorTemplateBase< T, isPodLike >::push_back ( T &&  Elt) [inline]

Definition at line 228 of file SmallVector.h.

template<typename T, bool isPodLike>
template<typename It1 , typename It2 >
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().

template<typename T, bool isPodLike>
template<typename It1 , typename It2 >
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.


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