LLVM API Documentation
#include <SmallVector.h>
Inherits llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >.
Inherited by llvm::SmallVector< T, N >.

Public Types | |
| typedef SuperClass::iterator | iterator |
| typedef SuperClass::size_type | size_type |
Public Member Functions | |
| ~SmallVectorImpl () | |
| void | clear () |
| void | resize (unsigned N) |
| void | resize (unsigned N, const T &NV) |
| void | reserve (unsigned N) |
| T | pop_back_val () |
| void | swap (SmallVectorImpl &RHS) |
| template<typename in_iter > | |
| void | append (in_iter in_start, in_iter in_end) |
| void | append (size_type NumInputs, const T &Elt) |
| void | assign (unsigned NumElts, const T &Elt) |
| iterator | erase (iterator I) |
| iterator | erase (iterator S, iterator E) |
| iterator | insert (iterator I, const T &Elt) |
| iterator | insert (iterator I, size_type NumToInsert, const T &Elt) |
| template<typename ItTy > | |
| iterator | insert (iterator I, ItTy From, ItTy To) |
| SmallVectorImpl & | operator= (const SmallVectorImpl &RHS) |
| bool | operator== (const SmallVectorImpl &RHS) const |
| bool | operator!= (const SmallVectorImpl &RHS) const |
| bool | operator< (const SmallVectorImpl &RHS) const |
| void | set_size (unsigned N) |
Protected Member Functions | |
| SmallVectorImpl (unsigned N) | |
SmallVectorImpl - 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 371 of file SmallVector.h.
| typedef SuperClass::iterator llvm::SmallVectorImpl< T >::iterator |
Reimplemented from llvm::SmallVectorTemplateCommon< T >.
Definition at line 376 of file SmallVector.h.
| typedef SuperClass::size_type llvm::SmallVectorImpl< T >::size_type |
Reimplemented from llvm::SmallVectorTemplateCommon< T >.
Definition at line 377 of file SmallVector.h.
| llvm::SmallVectorImpl< T >::SmallVectorImpl | ( | unsigned | N | ) | [inline, explicit, protected] |
Definition at line 381 of file SmallVector.h.
| llvm::SmallVectorImpl< T >::~SmallVectorImpl | ( | ) | [inline] |
Definition at line 386 of file SmallVector.h.
| void llvm::SmallVectorImpl< T >::append | ( | in_iter | in_start, |
| in_iter | in_end | ||
| ) | [inline] |
append - Add the specified range to the end of the SmallVector.
Reimplemented in llvm::SmallString< InternalLen >, llvm::SmallString< 128 >, llvm::SmallString< 16 >, llvm::SmallString< 8 >, and llvm::SmallString< 256 >.
Definition at line 445 of file SmallVector.h.
Referenced by llvm::FoldingSetNodeID::AddNodeID(), llvm::FoldingSetNodeID::AddPointer(), llvm::FoldingSetNodeID::AddString(), llvm::sys::path::append(), llvm::RegPressureTracker::closeBottom(), llvm::RegPressureTracker::closeTop(), ConstantFoldGetElementPtrImpl(), llvm::DIBuilder::createComplexVariable(), llvm::MCObjectStreamer::EmitBytes(), llvm::MCObjectStreamer::EmitFill(), llvm::MCObjectStreamer::EmitInstToFragment(), llvm::UnwindOpcodeAssembler::EmitSPOffset(), llvm::FindInsertedValue(), llvm::AttributeSet::get(), llvm::ScalarEvolution::getAddExpr(), llvm::ScalarEvolution::getAddRecExpr(), llvm::ScalarEvolution::getMulExpr(), llvm::Mangler::getNameWithPrefix(), llvm::SelectionDAG::getNode(), llvm::object::MachOObjectFile::getRelocationTypeName(), llvm::object::COFFObjectFile::getRelocationTypeName(), llvm::object::ELFObjectFile< ELFT >::getRelocationTypeName(), llvm::object::MachOObjectFile::getRelocationValueString(), llvm::object::COFFObjectFile::getRelocationValueString(), llvm::object::ELFObjectFile< ELFT >::getRelocationValueString(), llvm::ScalarEvolution::getSMaxExpr(), llvm::ConstantDataArray::getString(), llvm::ScalarEvolution::getUMaxExpr(), llvm::opt::InputArgList::InputArgList(), LowerINTRINSIC_WO_CHAIN(), llvm::BitstreamCursor::readRecord(), llvm::sys::path::replace_extension(), llvm::EngineBuilder::setMAttrs(), SimplifyAddOperands(), SplitAddRecs(), llvm::sys::path::system_temp_directory(), llvm::APInt::toString(), llvm::InstCombiner::visitGetElementPtrInst(), WriteAttributeGroupTable(), WriteModuleMetadata(), WriteModuleMetadataStore(), and llvm::LLVMContextImpl::~LLVMContextImpl().
| void llvm::SmallVectorImpl< T >::append | ( | size_type | NumInputs, |
| const T & | Elt | ||
| ) | [inline] |
append - Add the specified range to the end of the SmallVector.
Definition at line 460 of file SmallVector.h.
| void llvm::SmallVectorImpl< T >::assign | ( | unsigned | NumElts, |
| const T & | Elt | ||
| ) | [inline] |
Definition at line 470 of file SmallVector.h.
Referenced by BuildSplatI(), CollectShuffleElements(), CollectSingleShuffleElements(), llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getConstantFP(), llvm::SelectionDAGBuilder::getValueImpl(), and llvm::InterferenceCache::init().
| void llvm::SmallVectorImpl< T >::clear | ( | ) | [inline] |
Definition at line 396 of file SmallVector.h.
Referenced by llvm::PMDataManager::add(), llvm::LiveIntervals::addKillFlags(), llvm::SystemZInstrInfo::AnalyzeBranch(), llvm::SparcInstrInfo::AnalyzeBranch(), llvm::MSP430InstrInfo::AnalyzeBranch(), llvm::X86InstrInfo::AnalyzeBranch(), llvm::SSAUpdaterImpl< UpdaterT >::BuildBlockList(), CleanupPointerRootUsers(), llvm::IntEqClasses::clear(), llvm::SDDbgInfo::clear(), llvm::ArrayRecycler< MachineOperand >::clear(), llvm::SpillPlacement::Node::clear(), llvm::LiveIntervalUnion::Query::clear(), llvm::FunctionLoweringInfo::clear(), llvm::SchedDFSResult::clear(), llvm::SplitAnalysis::clear(), llvm::MCInst::clear(), llvm::SparseSet< RootData >::clear(), llvm::LiveInterval::clear(), llvm::FoldingSetNodeID::clear(), llvm::SparseMultiSet< PhysRegSUOper, llvm::identity< unsigned >, uint16_t >::clear(), llvm::SelectionDAGBuilder::clear(), llvm::CCState::clearByValRegsInfo(), collectDebugValues(), llvm::TargetSubtargetInfo::enablePostRAScheduler(), llvm::MachineModuleInfo::EndFunction(), llvm::DwarfDebug::endFunction(), llvm::ARMTargetLowering::ExpandInlineAsm(), llvm::X86TargetLowering::ExpandInlineAsm(), llvm::finalizeBundle(), FindMostPopularDest(), llvm::SplitEditor::finish(), llvm::BitstreamCursor::freeState(), llvm::ScalarEvolution::getAddExpr(), getAdjustedPtr(), llvm::SelectionDAGBuilder::getControlRoot(), getMemmoveLoadsAndStores(), llvm::MemoryDependenceAnalysis::getNonLocalPointerDependency(), GetOptionInfo(), llvm::SelectionDAGBuilder::getRoot(), llvm::ScalarEvolution::getUDivExpr(), llvm::yaml::ScalarNode::getValue(), insertVector(), LLVMDisasmInstruction(), llvm::TargetLowering::LowerCallTo(), LowerVECTOR_SHUFFLE_256(), LowerVECTOR_SHUFFLEv16i8(), LowerVECTOR_SHUFFLEv8i16(), llvm::Regex::match(), MoveBelowOrigChain(), llvm::sys::path::native(), llvm::IntervalPressure::openBottom(), llvm::RegionPressure::openBottom(), llvm::IntervalPressure::openTop(), llvm::RegionPressure::openTop(), llvm::cl::ParseCommandLineOptions(), llvm::SpillPlacement::prepare(), llvm::ValueEnumerator::purgeFunction(), llvm::BitstreamCursor::ReadBlockInfoBlock(), llvm::LexicalScopes::releaseMemory(), llvm::LiveIntervals::releaseMemory(), llvm::SlotIndexes::releaseMemory(), llvm::LiveInterval::RenumberValues(), llvm::IntervalPressure::reset(), llvm::RegionPressure::reset(), llvm::MCStreamer::reset(), llvm::LiveRangeCalc::reset(), llvm::InlineFunctionInfo::reset(), llvm::TypeFinder::run(), llvm::RegisterClassInfo::runOnMachineFunction(), llvm::SpillPlacement::scanActiveBundles(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::FileRemover::setFile(), llvm::EngineBuilder::setMAttrs(), SimplifyAddOperands(), llvm::SplitCriticalEdge(), llvm::MachineBasicBlock::SplitCriticalEdge(), llvm::sys::path::system_temp_directory(), llvm::MachineBasicBlock::updateTerminator(), llvm::ValueEnumerator::ValueEnumerator(), WriteAttributeGroupTable(), WriteAttributeTable(), WriteConstants(), WriteFunction(), WriteInstruction(), WriteMDNode(), WriteMetadataAttachment(), WriteModuleInfo(), WriteModuleMetadata(), WriteModuleMetadataStore(), WriteTypeTable(), WriteValueSymbolTable(), llvm::GCOVBlock::~GCOVBlock(), and llvm::GCOVLines::~GCOVLines().
| iterator llvm::SmallVectorImpl< T >::erase | ( | iterator | I | ) | [inline] |
Definition at line 478 of file SmallVector.h.
Referenced by llvm::RegPressureTracker::closeBottom(), llvm::RegPressureTracker::closeTop(), collectOperands(), DecomposeGEPExpression(), llvm::ScalarEvolution::getAddExpr(), GetIndexDifference(), llvm::ScalarEvolution::getMulExpr(), getNaturalGEPWithType(), llvm::ScalarEvolution::getSMaxExpr(), GetSymbolFromOperand(), llvm::ScalarEvolution::getUMaxExpr(), llvm::LiveInterval::join(), llvm::LiveInterval::MergeValueNumberInto(), OptimizeAndOrXor(), llvm::MachineInstr::print(), llvm::ARMFrameLowering::processFunctionBeforeCalleeSavedScan(), llvm::Inliner::removeDeadFunctions(), RemoveInstInputs(), llvm::cl::parser< const PassInfo * >::removeLiteralOption(), llvm::ExecutionEngine::removeModule(), llvm::SUnit::removePred(), llvm::LiveInterval::removeRange(), llvm::LiveInterval::removeValNo(), llvm::HexagonInstrInfo::ReverseBranchCondition(), llvm::Inliner::runOnSCC(), llvm::MachineModuleInfo::TidyLandingPads(), VerifySubExpr(), and llvm::InstCombiner::visitLandingPadInst().
| iterator llvm::SmallVectorImpl< T >::erase | ( | iterator | S, |
| iterator | E | ||
| ) | [inline] |
Definition at line 490 of file SmallVector.h.
| iterator llvm::SmallVectorImpl< T >::insert | ( | iterator | I, |
| const T & | Elt | ||
| ) | [inline] |
Definition at line 537 of file SmallVector.h.
Referenced by llvm::DIEAbbrev::AddFirstAttribute(), llvm::MipsInstrInfo::AnalyzeBranch(), llvm::LiveInterval::createDeadDef(), llvm::BitstreamWriter::EmitRecord(), llvm::Mangler::getNameWithPrefix(), llvm::MCSectionData::getSubsectionInsertionPoint(), llvm::yaml::ScalarNode::getValue(), llvm::MCInst::insert(), llvm::LiveInterval::removeRange(), llvm::IntervalMapImpl::Path::replaceRoot(), llvm::HexagonInstrInfo::ReverseBranchCondition(), and llvm::WriteBitcodeToFile().
| iterator llvm::SmallVectorImpl< T >::insert | ( | iterator | I, |
| size_type | NumToInsert, | ||
| const T & | Elt | ||
| ) | [inline] |
Definition at line 568 of file SmallVector.h.
| iterator llvm::SmallVectorImpl< T >::insert | ( | iterator | I, |
| ItTy | From, | ||
| ItTy | To | ||
| ) | [inline] |
Definition at line 619 of file SmallVector.h.
| bool llvm::SmallVectorImpl< T >::operator!= | ( | const SmallVectorImpl< T > & | RHS | ) | const [inline] |
Definition at line 684 of file SmallVector.h.
| bool llvm::SmallVectorImpl< T >::operator< | ( | const SmallVectorImpl< T > & | RHS | ) | const [inline] |
Definition at line 688 of file SmallVector.h.
| SmallVectorImpl< T > & llvm::SmallVectorImpl< T >::operator= | ( | const SmallVectorImpl< T > & | RHS | ) |
Definition at line 749 of file SmallVector.h.
References llvm::SmallVectorTemplateCommon< T >::begin(), llvm::SmallVectorTemplateCommon< T >::capacity(), llvm::SmallVectorTemplateBase< T, isPodLike >::destroy_range(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::SmallVectorTemplateBase< T, isPodLike >::grow(), llvm::SmallVectorTemplateCommon< T >::setEnd(), llvm::SmallVectorTemplateCommon< T >::size(), and llvm::SmallVectorTemplateBase< T, isPodLike >::uninitialized_copy().
| bool llvm::SmallVectorImpl< T >::operator== | ( | const SmallVectorImpl< T > & | RHS | ) | const [inline] |
Definition at line 680 of file SmallVector.h.
| T llvm::SmallVectorImpl< T >::pop_back_val | ( | ) | [inline] |
Definition at line 430 of file SmallVector.h.
Referenced by AddReachableCodeToWorklist(), AreAnyUnderlyingObjectsAnAlloca(), llvm::SSAUpdaterImpl< UpdaterT >::BuildBlockList(), buildMultiplyTree(), llvm::SSAUpdaterImpl< UpdaterT >::CheckIfPHIMatches(), ComputePostOrders(), DeleteDeadInstruction(), deleteDeadInstruction(), DeleteTriviallyDeadInstructions(), DoesRetainableObjPtrEscape(), llvm::LiveRangeEdit::eliminateDeadDefs(), llvm::objcarc::FindDependencies(), llvm::FindFunctionBackedges(), llvm::ScalarEvolution::forgetLoop(), llvm::ScalarEvolution::forgetValue(), getUnderlyingObjects(), llvm::GetUnderlyingObjects(), llvm::SDNode::hasPredecessorHelper(), llvm::MachineTraceMetrics::Ensemble::invalidate(), isAllocSiteRemovable(), isLeakCheckerRoot(), IsStoredObjCPointer(), llvm::Constant::isThreadDependent(), IsValueFullyAvailableInBlock(), llvm::SpillPlacement::iterate(), LinearizeExprTree(), markAliveBlocks(), llvm::PHITransAddr::PHITranslateWithInsertion(), llvm::MCStreamer::PopSection(), llvm::BitstreamCursor::readRecord(), llvm::RecursivelyDeleteTriviallyDeadInstructions(), llvm::SelectionDAG::RemoveDeadNodes(), llvm::removeUnreachableBlocks(), llvm::SUnit::setDepthDirty(), llvm::SUnit::setHeightDirty(), llvm::UnrollLoop(), verifyCTRBranch(), llvm::SCEVTraversal< SV >::visitAll(), and llvm::PtrUseVisitor< PartitionBuilder >::visitPtr().
| void llvm::SmallVectorImpl< T >::reserve | ( | unsigned | N | ) | [inline] |
Definition at line 425 of file SmallVector.h.
Referenced by llvm::RegPressureTracker::closeBottom(), llvm::RegPressureTracker::closeTop(), llvm::DwarfException::ComputeActionsTable(), ConstantFoldGetElementPtrImpl(), llvm::DwarfException::EmitExceptionTable(), extractVector(), llvm::FindInsertedValue(), llvm::MachineInstrExpressionTrait::getHashValue(), llvm::SelectionDAG::getMergeValues(), llvm::ScalarEvolution::getMulExpr(), llvm::yaml::ScalarNode::getValue(), llvm::IntEqClasses::grow(), llvm::ScheduleDAGTopologicalSort::InitDAGTopologicalSorting(), insertVector(), llvm::MapValue(), llvm::sys::path::native(), OptimizeAwayTrappingUsesOfValue(), llvm::raw_svector_ostream::raw_svector_ostream(), llvm::ConstantArray::replaceUsesOfWithOnConstant(), llvm::ConstantStruct::replaceUsesOfWithOnConstant(), llvm::ConstantVector::replaceUsesOfWithOnConstant(), llvm::raw_svector_ostream::resync(), llvm::SlotIndexes::runOnMachineFunction(), SimplifyCall(), llvm::InstCombiner::visitLandingPadInst(), llvm::WriteBitcodeToFile(), WriteUseList(), and llvm::LLVMContextImpl::~LLVMContextImpl().
| void llvm::SmallVectorImpl< T >::resize | ( | unsigned | N | ) | [inline] |
Definition at line 401 of file SmallVector.h.
Referenced by llvm::Calculate(), llvm::CCState::CCState(), llvm::DwarfException::ComputeCallSiteTable(), ConstantFoldGetElementPtrImpl(), llvm::DependenceAnalysis::depends(), llvm::MCObjectStreamer::EmitGPRel32Value(), llvm::MCObjectStreamer::EmitGPRel64Value(), llvm::MCObjectStreamer::EmitValueImpl(), llvm::MachineTraceMetrics::Ensemble::Ensemble(), llvm::SplitEditor::finish(), llvm::MCContext::GetDwarfFile(), llvm::LLVMContext::getMDKindNames(), llvm::MDNode::getMostGenericRange(), llvm::DependenceAnalysis::getSplitIteration(), llvm::Hexagon_CCState::Hexagon_CCState(), llvm::TargetSchedModel::init(), llvm::ARMJITInfo::Initialize(), llvm::LiveInterval::join(), llvm::Regex::match(), llvm::IntervalMapImpl::Path::moveLeft(), llvm::raw_ostream::operator<<(), ReadProfilingBlock(), llvm::UnwindOpcodeAssembler::Reset(), llvm::MachineTraceMetrics::runOnMachineFunction(), llvm::RegisterClassInfo::runOnMachineFunction(), llvm::SlotIndexes::runOnMachineFunction(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::sys::path::system_temp_directory(), and llvm::AssemblyWriter::writeAllMDNodes().
| void llvm::SmallVectorImpl< T >::resize | ( | unsigned | N, |
| const T & | NV | ||
| ) | [inline] |
Definition at line 413 of file SmallVector.h.
| void llvm::SmallVectorImpl< T >::set_size | ( | unsigned | N | ) | [inline] |
Set the array size to N, which the current array must have enough capacity for.
This does not construct or destroy any elements in the vector.
Clients can use this in conjunction with capacity() to write past the end of the buffer when they know that more elements are available, and only update the size later. This avoids the cost of value initializing elements which will only be overwritten.
Definition at line 702 of file SmallVector.h.
Referenced by llvm::sys::path::remove_filename(), and llvm::sys::path::replace_extension().
| void llvm::SmallVectorImpl< T >::swap | ( | SmallVectorImpl< T > & | RHS | ) |
Definition at line 710 of file SmallVector.h.
References llvm::SmallVectorTemplateCommon< T >::begin(), llvm::SmallVectorBase::BeginX, llvm::SmallVectorTemplateCommon< T >::capacity(), llvm::SmallVectorBase::CapacityX, llvm::SmallVectorTemplateBase< T, isPodLike >::destroy_range(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::SmallVectorBase::EndX, llvm::SmallVectorTemplateBase< T, isPodLike >::grow(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::grow(), llvm::SmallVectorTemplateCommon< T >::isSmall(), llvm::SmallVectorTemplateCommon< T >::setEnd(), llvm::SmallVectorTemplateCommon< T >::size(), llvm::swap(), std::swap(), and llvm::SmallVectorTemplateBase< T, isPodLike >::uninitialized_copy().
Referenced by llvm::sys::fs::make_absolute(), and std::swap().