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 171 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 173 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 175 of file SmallVector.h.

template<typename T , bool isPodLike>
void llvm::SmallVectorTemplateBase< T, isPodLike >::grow ( size_t  MinSize = 0) [protected]

grow - Grow the allocated memory (without initializing new elements), doubling the size of the allocated memory. Guarantees space for at least one more element, or MinSize more elements if specified.

Definition at line 247 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]

move - Use move-assignment to move the range [I, E) onto the objects starting with "Dest". This is just <memory>'s std::move, but not all stdlibs actually provide that.

Definition at line 186 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]

move_backward - Use move-assignment to move the range [I, E) onto the objects ending at "Dest", moving objects in reverse order. This is just <algorithm>'s std::move_backward, but not all stdlibs actually provide that.

Definition at line 197 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 225 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(), llvm::MCInst::addOperand(), AddOperand(), llvm::NamedMDNode::addOperand(), llvm::PMTopLevelManager::addPassManager(), llvm::SUnit::addPred(), llvm::AnalysisUsage::addPreserved(), llvm::AnalysisUsage::addPreservedID(), llvm::RangeSpanList::addRange(), llvm::DwarfUnit::addRange(), 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::DebugLocEntry::addValue(), 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(), BuildSubAggregate(), llvm::CC_ARM_AAPCS_Custom_HA(), ChangeVSETULTtoVSETULE(), CheckForLiveRegDef(), CheckForLiveRegDefMasked(), llvm::cleanseInlinedVariable(), CloneAliasScopeMetadata(), llvm::RegPressureTracker::closeBottom(), llvm::LexicalScope::closeInsnRange(), llvm::RegPressureTracker::closeTop(), CollectAddOperandsWithScales(), collectDebugValues(), llvm::PMTopLevelManager::collectLastUses(), llvm::PMDataManager::collectRequiredAnalysis(), CollectSubexprs(), CombineBaseUpdate(), 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::DecodeINSERTPSMask(), llvm::DecodeMOVHLPSMask(), llvm::DecodeMOVLHPSMask(), 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(), emitInstrForIndirectJump(), 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::MCJIT::generateCodeForModule(), GenerateTBL(), llvm::ConstantArray::get(), llvm::ConstantVector::get(), 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(), 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(), 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(), matchAddSub(), 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::PPCTargetLowering::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::MCJIT::RegisterJITEventListener(), 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::LiveVariables::runOnMachineFunction(), 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(), 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().

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

Definition at line 232 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]

uninitialized_copy - Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements as needed.

Definition at line 214 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]

uninitialized_move - Move the range [I, E) into the uninitialized memory starting with "Dest", constructing elements as needed.

Definition at line 206 of file SmallVector.h.


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