LLVM API Documentation
#include <SmallVector.h>
Inherits llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >.
Inherited by llvm::SmallVector< T, N >.
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 340 of file SmallVector.h.
typedef SuperClass::iterator llvm::SmallVectorImpl< T >::iterator |
Reimplemented from llvm::SmallVectorTemplateCommon< T >.
Reimplemented in llvm::final< T >.
Definition at line 345 of file SmallVector.h.
typedef SuperClass::size_type llvm::SmallVectorImpl< T >::size_type |
Reimplemented from llvm::SmallVectorTemplateCommon< T >.
Definition at line 346 of file SmallVector.h.
llvm::SmallVectorImpl< T >::SmallVectorImpl | ( | unsigned | N | ) | [inline, explicit, protected] |
Definition at line 350 of file SmallVector.h.
llvm::SmallVectorImpl< T >::~SmallVectorImpl | ( | ) | [inline] |
Definition at line 355 of file SmallVector.h.
void llvm::SmallVectorImpl< T >::append | ( | in_iter | in_start, |
in_iter | in_end | ||
) | [inline] |
Add the specified range to the end of the SmallVector.
Reimplemented in llvm::SmallString< InternalLen >, llvm::SmallString< 64 >, llvm::SmallString< 128 >, llvm::SmallString< 8 >, and llvm::SmallString< 256 >.
Definition at line 410 of file SmallVector.h.
Referenced by llvm::FoldingSetNodeID::AddNodeID(), llvm::FoldingSetNodeID::AddPointer(), llvm::FoldingSetNodeID::AddString(), llvm::DebugLocEntry::addValues(), llvm::sys::path::append(), llvm::RegPressureTracker::closeBottom(), llvm::RegPressureTracker::closeTop(), ConstantFoldGetElementPtrImpl(), llvm::MCObjectStreamer::EmitBytes(), llvm::MCObjectStreamer::EmitFill(), llvm::MCWinCOFFStreamer::EmitInstToData(), llvm::MCObjectStreamer::EmitInstToFragment(), llvm::FindInsertedValue(), fixupSubprogramName(), llvm::AttributeSet::get(), llvm::ScalarEvolution::getAddExpr(), llvm::ScalarEvolution::getAddRecExpr(), llvm::DominatorTreeBase< MachineBasicBlock >::getDescendants(), llvm::ScalarEvolution::getMulExpr(), llvm::SelectionDAG::getNode(), llvm::object::MachOObjectFile::getRelocationTypeName(), llvm::object::ELFFile< ELFT >::getRelocationTypeName(), llvm::object::COFFObjectFile::getRelocationTypeName(), llvm::object::ELFObjectFile< ELFT >::getRelocationValueString(), llvm::object::MachOObjectFile::getRelocationValueString(), llvm::object::COFFObjectFile::getRelocationValueString(), llvm::ScalarEvolution::getSMaxExpr(), llvm::ConstantDataArray::getString(), llvm::ScalarEvolution::getUDivExactExpr(), llvm::ScalarEvolution::getUMaxExpr(), getUncompressedData(), llvm::opt::InputArgList::InputArgList(), llvm::SmallVectorImpl< MachineInstr * >::insert(), isPotentiallyReachableInner(), IsValueFullyAvailableInBlock(), llvm::R600TargetLowering::PerformDAGCombine(), llvm::BitstreamCursor::readRecord(), llvm::sys::path::replace_extension(), llvm::EngineBuilder::setMAttrs(), SimplifyAddOperands(), llvm::SmallVector< Inst, 7 >::SmallVector(), SplitAddRecs(), 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] |
Add the specified range to the end of the SmallVector.
Definition at line 424 of file SmallVector.h.
void llvm::SmallVectorImpl< T >::assign | ( | unsigned | NumElts, |
const T & | Elt | ||
) | [inline] |
Definition at line 434 of file SmallVector.h.
Referenced by BuildSplatI(), CollectShuffleElements(), CollectSingleShuffleElements(), llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getConstantFP(), llvm::SelectionDAGBuilder::getValueImpl(), and llvm::SmallVector< Inst, 7 >::SmallVector().
void llvm::SmallVectorImpl< T >::clear | ( | ) | [inline] |
Definition at line 365 of file SmallVector.h.
Referenced by llvm::PMDataManager::add(), llvm::DwarfDebug::addDwarfTypeUnitType(), llvm::LiveIntervals::addKillFlags(), llvm::SparcInstrInfo::AnalyzeBranch(), llvm::MSP430InstrInfo::AnalyzeBranch(), llvm::ARMBaseInstrInfo::AnalyzeBranch(), llvm::SystemZInstrInfo::AnalyzeBranch(), llvm::SmallVectorImpl< MachineInstr * >::assign(), llvm::SSAUpdaterImpl< UpdaterT >::BuildBlockList(), buildGraphFrom(), buildSetsFrom(), llvm::CC_ARM_AAPCS_Custom_HA(), CleanupPointerRootUsers(), llvm::IntEqClasses::clear(), llvm::ArrayRecycler< MachineOperand >::clear(), llvm::LiveIntervalUnion::Query::clear(), llvm::SchedDFSResult::clear(), llvm::SpillPlacement::Node::clear(), llvm::SDDbgInfo::clear(), llvm::SplitAnalysis::clear(), llvm::FunctionLoweringInfo::clear(), llvm::MCInst::clear(), llvm::SparseSet< RootData >::clear(), llvm::LiveRange::clear(), llvm::FoldingSetNodeID::clear(), llvm::SparseMultiSet< VReg2SUnit, VirtReg2IndexFunctor >::clear(), llvm::SelectionDAGBuilder::clear(), llvm::CCState::clearByValRegsInfo(), llvm::FastISel::CallLoweringInfo::clearIns(), llvm::FastISel::CallLoweringInfo::clearOuts(), collectDebugValues(), llvm::SCEVAddRecExpr::computeAccessFunctions(), llvm::ComputeASanStackFrameLayout(), llvm::NamedMDNode::dropAllReferences(), emitComments(), llvm::ConstantPool::emitEntries(), llvm::PPCDispatchGroupSBHazardRecognizer::EmitInstruction(), llvm::PPCDispatchGroupSBHazardRecognizer::EmitNoop(), llvm::MachineModuleInfo::EndFunction(), ExpandBVWithShuffles(), llvm::ARMTargetLowering::ExpandInlineAsm(), llvm::ScalarEvolution::findArrayDimensions(), findConsecutiveLoad(), FindMostPopularDest(), llvm::SplitEditor::finish(), llvm::BitstreamCursor::freeState(), llvm::ScalarEvolution::getAddExpr(), getAdjustedPtr(), llvm::SelectionDAGBuilder::getControlRoot(), llvm::TargetSubtargetInfo::getCriticalPathRCs(), llvm::DominatorTreeBase< MachineBasicBlock >::getDescendants(), getMemmoveLoadsAndStores(), llvm::MemoryDependenceAnalysis::getNonLocalPointerDependency(), GetOptionInfo(), llvm::SelectionDAGBuilder::getRoot(), llvm::ScalarEvolution::getUDivExpr(), getUnderlyingObjectsForInstr(), llvm::Loop::getUniqueExitBlocks(), llvm::yaml::ScalarNode::getValue(), insertVector(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::TargetLowering::LowerCallTo(), LowerFCOPYSIGN(), LowerVECTOR_SHUFFLE_256(), LowerVECTOR_SHUFFLEv16i8(), llvm::Regex::match(), llvm::MCContext::MCContext(), MoveBelowOrigChain(), llvm::sys::path::native(), llvm::IntervalPressure::openBottom(), llvm::RegionPressure::openBottom(), llvm::IntervalPressure::openTop(), llvm::RegionPressure::openTop(), llvm::BlockFrequencyInfoImplBase::packageLoop(), llvm::cl::ParseCommandLineOptions(), llvm::SpillPlacement::prepare(), llvm::ValueEnumerator::purgeFunction(), llvm::BitstreamCursor::ReadBlockInfoBlock(), llvm::MachineTraceMetrics::releaseMemory(), llvm::LiveIntervals::releaseMemory(), llvm::SlotIndexes::releaseMemory(), removeFinishedSplitUses(), llvm::LiveRange::RenumberValues(), llvm::UnwindOpcodeAssembler::Reset(), llvm::PPCDispatchGroupSBHazardRecognizer::Reset(), llvm::IntervalPressure::reset(), llvm::RegionPressure::reset(), llvm::MachObjectWriter::reset(), llvm::LiveRangeCalc::reset(), llvm::LexicalScopes::reset(), llvm::InlineFunctionInfo::reset(), llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold >::Reset(), llvm::MCLOHContainer::reset(), llvm::MCContext::reset(), llvm::MCStreamer::reset(), llvm::SchedRemainder::reset(), llvm::SchedBoundary::reset(), llvm::TypeFinder::run(), llvm::PEI::runOnMachineFunction(), llvm::RegisterClassInfo::runOnMachineFunction(), llvm::MachineDominatorTree::runOnMachineFunction(), llvm::SpillPlacement::scanActiveBundles(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::FileRemover::setFile(), llvm::EngineBuilder::setMAttrs(), SimplifyAddOperands(), llvm::SplitCriticalEdge(), llvm::MachineBasicBlock::SplitCriticalEdge(), llvm::cl::TokenizeGNUCommandLine(), llvm::cl::TokenizeWindowsCommandLine(), llvm::BlockFrequencyInfoImplBase::updateLoopWithIrreducible(), llvm::MachineBasicBlock::updateTerminator(), llvm::ValueEnumerator::ValueEnumerator(), WriteAttributeGroupTable(), WriteAttributeTable(), writeComdats(), WriteConstants(), WriteFunction(), WriteInstruction(), WriteMDNode(), WriteMetadataAttachment(), WriteModuleInfo(), WriteModuleMetadata(), WriteModuleMetadataStore(), WriteTypeTable(), WriteValueSymbolTable(), llvm::GCOVBlock::~GCOVBlock(), and llvm::MCJIT::~MCJIT().
iterator llvm::SmallVectorImpl< T >::erase | ( | iterator | I | ) | [inline] |
Definition at line 442 of file SmallVector.h.
Referenced by llvm::RegPressureTracker::closeBottom(), llvm::RegPressureTracker::closeTop(), collectOperands(), DecomposeGEPExpression(), llvm::ConnectedVNInfoEqClasses::Distribute(), llvm::cl::ExpandResponseFiles(), llvm::ScalarEvolution::findArrayDimensions(), llvm::ScalarEvolution::getAddExpr(), llvm::ScalarEvolution::getMulExpr(), getNaturalGEPWithType(), getPSHUFShuffleMask(), llvm::ScalarEvolution::getSMaxExpr(), llvm::ScalarEvolution::getUMaxExpr(), llvm::LiveRange::join(), lowerV16I8VectorShuffle(), lowerV8I16SingleInputVectorShuffle(), llvm::LiveRange::MergeValueNumberInto(), OptimizeAndOrXor(), llvm::MachineInstr::print(), llvm::ARMFrameLowering::processFunctionBeforeCalleeSavedScan(), llvm::Inliner::removeDeadFunctions(), removeFinishedSplitUses(), RemoveInstInputs(), llvm::LazyCallGraph::SCC::removeIntraSCCEdge(), llvm::cl::parser< const PassInfo * >::removeLiteralOption(), llvm::ExecutionEngine::removeModule(), llvm::SUnit::removePred(), llvm::LiveRange::removeSegment(), llvm::LiveRange::removeValNo(), replaceConstantExprOp(), llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold >::Reset(), llvm::HexagonInstrInfo::ReverseBranchCondition(), llvm::Inliner::runOnSCC(), llvm::DebugLocEntry::sortUniqueValues(), llvm::MachineModuleInfo::TidyLandingPads(), llvm::BlockFrequencyInfoImplBase::updateLoopWithIrreducible(), VerifySubExpr(), and llvm::InstCombiner::visitLandingPadInst().
Definition at line 454 of file SmallVector.h.
Definition at line 468 of file SmallVector.h.
Referenced by llvm::MipsInstrInfo::AnalyzeBranch(), llvm::ComputeASanStackFrameLayout(), llvm::LiveRange::createDeadDef(), llvm::TargetLoweringObjectFileELF::emitPersonalityValue(), llvm::UnwindOpcodeAssembler::EmitRaw(), llvm::BitstreamWriter::EmitRecord(), llvm::cl::ExpandResponseFiles(), findConsecutiveLoad(), llvm::AttributeSet::get(), llvm::SelectionDAG::getConstant(), llvm::MCSectionData::getSubsectionInsertionPoint(), llvm::yaml::ScalarNode::getValue(), llvm::MCInst::insert(), llvm::BlockFrequencyInfoImplBase::LoopData::LoopData(), LowerInterruptReturn(), prependCompressionHeader(), llvm::LiveRange::removeSegment(), llvm::IntervalMapImpl::Path::replaceRoot(), llvm::HexagonInstrInfo::ReverseBranchCondition(), and llvm::WriteBitcodeToFile().
iterator llvm::SmallVectorImpl< T >::insert | ( | iterator | I, |
const T & | Elt | ||
) | [inline] |
Definition at line 498 of file SmallVector.h.
iterator llvm::SmallVectorImpl< T >::insert | ( | iterator | I, |
size_type | NumToInsert, | ||
const T & | Elt | ||
) | [inline] |
Definition at line 527 of file SmallVector.h.
iterator llvm::SmallVectorImpl< T >::insert | ( | iterator | I, |
ItTy | From, | ||
ItTy | To | ||
) | [inline] |
Definition at line 579 of file SmallVector.h.
bool llvm::SmallVectorImpl< T >::operator!= | ( | const SmallVectorImpl< T > & | RHS | ) | const [inline] |
Definition at line 643 of file SmallVector.h.
bool llvm::SmallVectorImpl< T >::operator< | ( | const SmallVectorImpl< T > & | RHS | ) | const [inline] |
Definition at line 647 of file SmallVector.h.
SmallVectorImpl< T > & llvm::SmallVectorImpl< T >::operator= | ( | const SmallVectorImpl< T > & | RHS | ) |
Definition at line 708 of file SmallVector.h.
References llvm::sys::path::begin(), llvm::SmallVectorTemplateCommon< T >::begin(), llvm::sys::path::end(), llvm::SmallVectorTemplateCommon< T >::end(), and llvm::SmallVectorTemplateCommon< T >::size().
SmallVectorImpl< T > & llvm::SmallVectorImpl< T >::operator= | ( | SmallVectorImpl< T > && | RHS | ) |
Definition at line 756 of file SmallVector.h.
References llvm::sys::path::begin(), llvm::sys::path::end(), and llvm::LibFunc::free.
bool llvm::SmallVectorImpl< T >::operator== | ( | const SmallVectorImpl< T > & | RHS | ) | const [inline] |
Definition at line 639 of file SmallVector.h.
T LLVM_ATTRIBUTE_UNUSED_RESULT llvm::SmallVectorImpl< T >::pop_back_val | ( | ) | [inline] |
Definition at line 400 of file SmallVector.h.
Referenced by addBlockAndPredsToSet(), AddReachableCodeToWorklist(), AreAnyUnderlyingObjectsAnAlloca(), llvm::SSAUpdaterImpl< UpdaterT >::BuildBlockList(), buildMultiplyTree(), buildSetsFrom(), llvm::SSAUpdaterImpl< UpdaterT >::CheckIfPHIMatches(), combineRedundantDWordShuffle(), completeEphemeralValues(), ConstHasGlobalValuePredicate(), DeleteDeadInstruction(), deleteDeadInstruction(), DeleteTriviallyDeadInstructions(), determinePointerReadAttrs(), llvm::LiveRangeEdit::eliminateDeadDefs(), findCallees(), llvm::objcarc::FindDependencies(), llvm::FindFunctionBackedges(), llvm::ScalarEvolution::forgetLoop(), llvm::ScalarEvolution::forgetValue(), llvm::DominatorTreeBase< MachineBasicBlock >::getDescendants(), getUnderlyingObjects(), llvm::GetUnderlyingObjects(), llvm::SDNode::hasPredecessorHelper(), llvm::LazyCallGraph::SCC::insertIncomingEdge(), llvm::MachineTraceMetrics::Ensemble::invalidate(), isAllocSiteRemovable(), llvm::LazyCallGraph::SCC::isDescendantOf(), isEphemeralValueOf(), isLeakCheckerRoot(), isOnlyCopiedFromConstantGlobal(), isPotentiallyReachableInner(), IsStoredObjCPointer(), IsValueFullyAvailableInBlock(), llvm::SpillPlacement::iterate(), markAliveBlocks(), llvm::SIInstrInfo::moveToVALU(), llvm::PHITransAddr::PHITranslateWithInsertion(), llvm::MCStreamer::PopSection(), llvm::BitstreamCursor::readRecord(), llvm::RecursivelyDeleteTriviallyDeadInstructions(), llvm::SelectionDAG::RemoveDeadNodes(), rewriteNonInstructionUses(), llvm::SUnit::setDepthDirty(), llvm::SUnit::setHeightDirty(), llvm::simplifyLoop(), llvm::UnrollLoop(), verifyCTRBranch(), llvm::SCEVTraversal< SV >::visitAll(), and llvm::PtrUseVisitor< SliceBuilder >::visitPtr().
void llvm::SmallVectorImpl< T >::reserve | ( | unsigned | N | ) | [inline] |
Definition at line 395 of file SmallVector.h.
Referenced by llvm::RegPressureTracker::closeBottom(), llvm::RegPressureTracker::closeTop(), combineX86ShufflesRecursively(), llvm::EHStreamer::computeActionsTable(), ConstantFoldGetElementPtrImpl(), llvm::DecodePSHUFBMask(), llvm::EHStreamer::emitExceptionTable(), ExpandBVWithShuffles(), extractVector(), llvm::FindInsertedValue(), fixupSubprogramName(), llvm::MachineInstrExpressionTrait::getHashValue(), llvm::SelectionDAG::getMergeValues(), llvm::ScalarEvolution::getMulExpr(), llvm::yaml::ScalarNode::getValue(), llvm::IntEqClasses::grow(), llvm::ScheduleDAGTopologicalSort::InitDAGTopologicalSorting(), llvm::SmallVectorImpl< MachineInstr * >::insert(), insertVector(), llvm::MapValue(), 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(), and llvm::LLVMContextImpl::~LLVMContextImpl().
void llvm::SmallVectorImpl< T >::resize | ( | unsigned | N | ) | [inline] |
Definition at line 370 of file SmallVector.h.
Referenced by llvm::Calculate(), llvm::CCState::CCState(), combineX86ShufflesRecursively(), llvm::EHStreamer::computeCallSiteTable(), ConstantFoldGetElementPtrImpl(), llvm::coverage::CounterExpressionBuilder::CounterExpressionBuilder(), llvm::DependenceAnalysis::depends(), llvm::ConnectedVNInfoEqClasses::Distribute(), llvm::DWARFContextInMemory::DWARFContextInMemory(), llvm::MCWinCOFFStreamer::EmitCOFFSecRel32(), llvm::MCWinCOFFStreamer::EmitCOFFSectionIndex(), llvm::MCObjectStreamer::EmitGPRel32Value(), llvm::MCObjectStreamer::EmitGPRel64Value(), llvm::MCObjectStreamer::EmitValueImpl(), llvm::MachineTraceMetrics::Ensemble::Ensemble(), llvm::UnwindOpcodeAssembler::Finalize(), llvm::SplitEditor::finish(), llvm::SelectionDAG::FoldConstantArithmetic(), llvm::MCDwarfLineTableHeader::getFile(), llvm::LLVMContext::getMDKindNames(), llvm::MDNode::getMostGenericRange(), getNoopInput(), getPSHUFShuffleMask(), llvm::DependenceAnalysis::getSplitIteration(), llvm::Hexagon_CCState::Hexagon_CCState(), llvm::TargetSchedModel::init(), llvm::SchedRemainder::init(), llvm::SchedBoundary::init(), llvm::LiveRange::join(), llvm::Regex::match(), llvm::IntervalMapImpl::Path::moveLeft(), llvm::object::ExportEntry::moveNext(), llvm::Triple::normalize(), llvm::raw_ostream::operator<<(), llvm::DWARFDebugLoc::parse(), llvm::DWARFDebugLocDWO::parse(), llvm::coverage::RawCoverageMappingReader::read(), llvm::SchedBoundary::reset(), llvm::MachineTraceMetrics::runOnMachineFunction(), llvm::RegisterClassInfo::runOnMachineFunction(), llvm::SlotIndexes::runOnMachineFunction(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::StructType::setName(), and llvm::AssemblyWriter::writeAllMDNodes().
Definition at line 383 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 661 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 669 of file SmallVector.h.
References llvm::sys::path::begin(), llvm::SmallVectorTemplateCommon< T >::begin(), llvm::SmallVectorBase::BeginX, llvm::SmallVectorTemplateCommon< T >::capacity(), llvm::SmallVectorBase::CapacityX, llvm::sys::path::end(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::SmallVectorBase::EndX, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::grow(), llvm::SmallVectorTemplateCommon< T >::isSmall(), llvm::SmallVectorTemplateCommon< T >::setEnd(), llvm::SmallVectorTemplateCommon< T >::size(), and std::swap().
Referenced by createUniqueEntity(), ExpandBVWithShuffles(), llvm::sys::fs::make_absolute(), llvm::LazyCallGraph::SCC::removeIntraSCCEdge(), llvm::LiveIntervals::shrinkToUses(), and std::swap().