LLVM API Documentation
A templated base class for SmallPtrSet
which provides the typesafe interface that is common across all small sizes.
More...
#include <SmallPtrSet.h>
Public Types | |
typedef SmallPtrSetIterator < PtrType > | iterator |
typedef SmallPtrSetIterator < PtrType > | const_iterator |
Public Member Functions | |
bool | insert (PtrType Ptr) |
bool | erase (PtrType Ptr) |
size_type | count (PtrType Ptr) const |
count - Return 1 if the specified pointer is in the set, 0 otherwise. | |
template<typename IterT > | |
void | insert (IterT I, IterT E) |
iterator | begin () const |
iterator | end () const |
Protected Member Functions | |
SmallPtrSetImpl (const void **SmallStorage, const SmallPtrSetImpl &that) | |
SmallPtrSetImpl (const void **SmallStorage, unsigned SmallSize, SmallPtrSetImpl &&that) | |
SmallPtrSetImpl (const void **SmallStorage, unsigned SmallSize) |
A templated base class for SmallPtrSet
which provides the typesafe interface that is common across all small sizes.
This is particularly useful for passing around between interface boundaries to avoid encoding a particular small size in the interface boundary.
Definition at line 241 of file SmallPtrSet.h.
typedef SmallPtrSetIterator<PtrType> llvm::SmallPtrSetImpl< PtrType >::const_iterator |
Definition at line 280 of file SmallPtrSet.h.
typedef SmallPtrSetIterator<PtrType> llvm::SmallPtrSetImpl< PtrType >::iterator |
Definition at line 279 of file SmallPtrSet.h.
llvm::SmallPtrSetImpl< PtrType >::SmallPtrSetImpl | ( | const void ** | SmallStorage, |
const SmallPtrSetImpl< PtrType > & | that | ||
) | [inline, protected] |
Definition at line 247 of file SmallPtrSet.h.
llvm::SmallPtrSetImpl< PtrType >::SmallPtrSetImpl | ( | const void ** | SmallStorage, |
unsigned | SmallSize, | ||
SmallPtrSetImpl< PtrType > && | that | ||
) | [inline, protected] |
Definition at line 249 of file SmallPtrSet.h.
llvm::SmallPtrSetImpl< PtrType >::SmallPtrSetImpl | ( | const void ** | SmallStorage, |
unsigned | SmallSize | ||
) | [inline, explicit, protected] |
Definition at line 252 of file SmallPtrSet.h.
iterator llvm::SmallPtrSetImpl< PtrType >::begin | ( | ) | const [inline] |
Definition at line 281 of file SmallPtrSet.h.
Referenced by llvm::ObjectSizeOffsetEvaluator::compute(), llvm::findPHICopyInsertPoint(), llvm::LeakDetectorImpl< Value >::hasGarbage(), llvm::LazyCallGraph::SCC::parent_begin(), and llvm::LLVMContextImpl::~LLVMContextImpl().
size_type llvm::SmallPtrSetImpl< PtrType >::count | ( | PtrType | Ptr | ) | const [inline] |
count - Return 1 if the specified pointer is in the set, 0 otherwise.
Definition at line 269 of file SmallPtrSet.h.
Referenced by llvm::LeakDetectorImpl< Value >::addGarbage(), llvm::IVUsers::AddUsersImpl(), llvm::CodeMetrics::analyzeBasicBlock(), areAllUsesIn(), bothUsedInPHI(), llvm::ForwardDominanceFrontierBase< BlockT >::calculate(), CanPropagatePredecessorsForPHIs(), llvm::LiveRangeEdit::canRematerializeAt(), checkForCyclesHelper(), llvm::DomTreeNodeBase< MachineBasicBlock >::compare(), completeEphemeralValues(), llvm::LoopBase< BasicBlock, Loop >::contains(), determinePointerReadAttrs(), llvm::LiveRangeEdit::didRematerialize(), DominatesMergePoint(), llvm::InstCombiner::DoOneIteration(), llvm::MCELFStreamer::EmitCommonSymbol(), llvm::FindFunctionBackedges(), llvm::DominatorTreeBase< MachineBasicBlock >::findNearestCommonDominator(), llvm::findPHICopyInsertPoint(), FoldTwoEntryPHINode(), hasMultipleUsesOf(), hasOutsideLoopUser(), llvm::SDNode::hasPredecessorHelper(), llvm::LazyCallGraph::SCC::insertIncomingEdge(), llvm::PreservedAnalyses::intersect(), llvm::SparseSolver::isBlockExecutable(), llvm::LazyCallGraph::SCC::isChildOf(), llvm::BitcodeReader::isDematerializable(), isEphemeralValueOf(), llvm::IVUsers::isIVUserOrOperand(), llvm::SchedBoundary::isNextSU(), isProfitableToFoldUnconditional(), IsSafeAndProfitableToMove(), isSimplifiedLoopNest(), llvm::MCAssembler::isThumbFunc(), llvm::MachineModuleInfo::isUsedFunction(), llvm::SelectionDAG::LegalizeOp(), LinearizeExprTree(), llvm::PreservedAnalyses::preserved(), llvm::SparseSolver::Print(), llvm::removeUnreachableBlocks(), llvm::LiveVariables::runOnMachineFunction(), SafeToMergeTerminators(), llvm::InstCombiner::SliceUpIllegalIntegerPHI(), llvm::SparseSolver::Solve(), StripSymbolNames(), and llvm::InstCombiner::visitLandingPadInst().
iterator llvm::SmallPtrSetImpl< PtrType >::end | ( | ) | const [inline] |
Definition at line 284 of file SmallPtrSet.h.
Referenced by llvm::ObjectSizeOffsetEvaluator::compute(), llvm::LeakDetectorImpl< Value >::hasGarbage(), llvm::LazyCallGraph::SCC::parent_end(), and llvm::LLVMContextImpl::~LLVMContextImpl().
bool llvm::SmallPtrSetImpl< PtrType >::erase | ( | PtrType | Ptr | ) | [inline] |
erase - If the set contains the specified pointer, remove it and return true, otherwise return false.
Definition at line 264 of file SmallPtrSet.h.
Referenced by checkForCyclesHelper(), llvm::MDNode::deleteTemporary(), llvm::FindFunctionBackedges(), llvm::LazyCallGraph::SCC::insertIncomingEdge(), llvm::PreservedAnalyses::intersect(), llvm::LoopBase< BasicBlock, Loop >::removeBlockFromLoop(), and llvm::LeakDetectorImpl< Value >::removeGarbage().
bool llvm::SmallPtrSetImpl< PtrType >::insert | ( | PtrType | Ptr | ) | [inline] |
insert - This returns true if the pointer was new to the set, false if it was already in the set.
Definition at line 258 of file SmallPtrSet.h.
Referenced by AddAliasScopeMetadata(), llvm::LoopBase< BasicBlock, Loop >::addBlockEntry(), llvm::LeakDetectorImpl< Value >::addGarbage(), llvm::AArch64FunctionInfo::addLOHDirective(), AddReachableCodeToWorklist(), llvm::IVUsers::AddUsersImpl(), llvm::PreservedAnalyses::all(), AllUsesOfValueWillTrapIfNull(), analyzeGlobalAux(), llvm::MachineModuleInfo::AnalyzeModule(), AreAnyUnderlyingObjectsAnAlloca(), llvm::ForwardDominanceFrontierBase< BlockT >::calculate(), llvm::VirtRegAuxInfo::calculateSpillWeightAndHint(), canTrapImpl(), checkForCyclesHelper(), llvm::LiveRangeEdit::checkRematerializable(), llvm::collectUsedGlobalVariables(), llvm::DomTreeNodeBase< MachineBasicBlock >::compare(), completeEphemeralValues(), llvm::ObjectSizeOffsetVisitor::compute(), ConstantFoldConstantExpressionImpl(), ConstHasGlobalValuePredicate(), contains(), llvm::MachineBasicBlock::CorrectExtraCFGEdges(), cxxDtorIsEmpty(), DeadPHICycle(), DominatesMergePoint(), DumpNodesr(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::MCELFStreamer::EmitLocalCommonSymbol(), llvm::MCELFStreamer::EmitSymbolAttribute(), llvm::DwarfDebug::endFunction(), llvm::detail::PtrUseVisitorBase::enqueueUsers(), enqueueUsersInWorklist(), llvm::Eval(), llvm::CodeExtractor::extractCodeRegion(), llvm::DIBuilder::finalize(), findCallees(), llvm::objcarc::FindDependencies(), llvm::FindFunctionBackedges(), llvm::DominatorTreeBase< MachineBasicBlock >::findNearestCommonDominator(), findNonImmUse(), llvm::findPHICopyInsertPoint(), FindUsedValues(), findUsedValues(), FoldBlockIntoPredecessor(), llvm::ScalarEvolution::forgetLoop(), llvm::ScalarEvolution::forgetValue(), getAdjustedPtr(), llvm::LexicalScopes::getMachineBasicBlocks(), llvm::MemoryDependenceAnalysis::getNonLocalCallDependency(), GetStringLengthH(), getUnderlyingObjects(), llvm::GetUnderlyingObjects(), HandleInlinedInvoke(), hasConcreteDef(), hasConcreteDefImpl(), llvm::SDNode::hasPredecessorHelper(), llvm::PMTopLevelManager::initializeAllAnalysisInfo(), InlineCallIfPossible(), llvm::SmallPtrSetImpl< const BlockT * >::insert(), llvm::LazyCallGraph::SCC::insertIncomingEdge(), isDereferenceablePointer(), isEphemeralValueOf(), isHighCostExpansion(), isSafeToMove(), isSimpleEnoughValueToCommit(), isSimplifiedLoopNest(), llvm::StructType::isSized(), IsStoredObjCPointer(), llvm::MCAssembler::isThumbFunc(), iterateChainSucc(), llvm::LazyCallGraph::LazyCallGraph(), llvm::SelectionDAG::Legalize(), llvm::SelectionDAG::LegalizeOp(), LinearizeExprTree(), llvm::Linker::Linker(), LoadUsesSimpleEnoughForHeapSRA(), llvm::LoopBase< BasicBlock, Loop >::LoopBase(), markAliveBlocks(), MarkBlocksLiveIn(), llvm::LiveRangeEdit::markRematerialized(), llvm::SelectionDAG::MorphNodeTo(), PHIsEqualValue(), llvm::PreservedAnalyses::preserve(), printNodes(), pushIVUsers(), llvm::RecursivelyDeleteDeadPHINode(), llvm::SchedBoundary::releaseNode(), llvm::LiveRangeEdit::rematerializeAt(), RemoveDeadConstant(), llvm::LazyCallGraph::SCC::removeIntraSCCEdge(), llvm::LiveRange::RenumberValues(), llvm::LazyCallGraphPrinterPass::run(), llvm::LiveIntervals::shrinkToUses(), simplifyOneLoop(), llvm::InstCombiner::SliceUpIllegalIntegerPHI(), llvm::SmallPtrSet< const MDNode *, 16 >::SmallPtrSet(), sortOpts(), llvm::Value::stripAndAccumulateInBoundsConstantOffsets(), stripAndComputeConstantOffsets(), llvm::IVStrideUse::transformToPostInc(), ValueIsOnlyUsedLocallyOrStoredToOneGlobal(), llvm::LoopBase< BlockT, LoopT >::verifyLoop(), llvm::InstCombiner::visitLandingPadInst(), and llvm::InstCombiner::visitPHINode().
void llvm::SmallPtrSetImpl< PtrType >::insert | ( | IterT | I, |
IterT | E | ||
) | [inline] |
Definition at line 274 of file SmallPtrSet.h.