|
LLVM
4.0.0
|
A templated base class for SmallPtrSet which provides the typesafe interface that is common across all small sizes.
More...
#include <SmallPtrSet.h>
Inherits llvm::SmallPtrSetImplBase.
Inherited by llvm::SmallPtrSet< PtrType, SmallSize >, llvm::SmallPtrSet< const BasicBlock *, 8 >, llvm::SmallPtrSet< const BlockT *, 8 >, llvm::SmallPtrSet< const llvm::BasicBlock *, 16 >, llvm::SmallPtrSet< const llvm::BasicBlock *, 4 >, llvm::SmallPtrSet< const llvm::BasicBlock *, 8 >, llvm::SmallPtrSet< const llvm::DISubprogram *, 16 >, llvm::SmallPtrSet< const llvm::GlobalValue *, 8 >, llvm::SmallPtrSet< const llvm::GlobalVariable *, 2 >, llvm::SmallPtrSet< const llvm::MachineBasicBlock *, 2 >, llvm::SmallPtrSet< const llvm::MCSymbol *, 32 >, llvm::SmallPtrSet< const llvm::MDNode *, 32 >, llvm::SmallPtrSet< const llvm::PHINode *, 16 >, llvm::SmallPtrSet< const llvm::SCEV *, 8 >, llvm::SmallPtrSet< const llvm::SCEVPredicate *, 4 >, llvm::SmallPtrSet< const llvm::Value *, 16 >, llvm::SmallPtrSet< const llvm::Value *, 32 >, llvm::SmallPtrSet< const llvm::VNInfo *, 4 >, llvm::SmallPtrSet< const Loop *, 2 >, llvm::SmallPtrSet< const MachineInstr *, 16 >, llvm::SmallPtrSet< const Value *, 8 >, llvm::SmallPtrSet< Instruction *, 4 >, llvm::SmallPtrSet< Instruction *, 8 >, llvm::SmallPtrSet< llvm::AnalysisKey *, 2 >, llvm::SmallPtrSet< llvm::cl::SubCommand *, 4 >, llvm::SmallPtrSet< llvm::Constant *, 8 >, llvm::SmallPtrSet< llvm::GlobalValue *, 32 >, llvm::SmallPtrSet< llvm::GlobalValue *, 8 >, llvm::SmallPtrSet< llvm::GlobalVariable *, 8 >, llvm::SmallPtrSet< llvm::Instruction *, 16 >, llvm::SmallPtrSet< llvm::Instruction *, 2 >, llvm::SmallPtrSet< llvm::Instruction *, 32 >, llvm::SmallPtrSet< llvm::Instruction *, 8 >, llvm::SmallPtrSet< llvm::LiveRange *, 8 >, llvm::SmallPtrSet< llvm::MachineInstr *, 32 >, llvm::SmallPtrSet< llvm::Module *, 4 >, llvm::SmallPtrSet< llvm::Use *, 8 >, llvm::SmallPtrSet< llvm::Value *, 6 >, llvm::SmallPtrSet< llvm::Value *, 8 >, llvm::SmallPtrSet< Module *, 4 >, llvm::SmallPtrSet< NodeRef, SmallSize >, llvm::SmallPtrSet< PointeeType *, N >, llvm::SmallPtrSet< typename GraphTraits< std::conditional< IsConst, const BlockT, BlockT >::type * >::NodeRef, 8 >, llvm::SmallPtrSet< Value *, 16 >, llvm::SmallPtrSet< Value *, 4 >, llvm::SmallPtrSet< Value *, 8 >, and llvm::SmallPtrSet< void *, 2 >.
Public Types | |
| typedef SmallPtrSetIterator < PtrType > | iterator |
| typedef SmallPtrSetIterator < PtrType > | const_iterator |
Public Types inherited from llvm::SmallPtrSetImplBase | |
| typedef unsigned | size_type |
Public Member Functions | |
| SmallPtrSetImpl (const SmallPtrSetImpl &)=delete | |
| std::pair< iterator, bool > | insert (PtrType Ptr) |
| Inserts Ptr if and only if there is no element in the container equal to Ptr. More... | |
| bool | erase (PtrType Ptr) |
| erase - If the set contains the specified pointer, remove it and return true, otherwise return false. More... | |
| size_type | count (PtrType Ptr) const |
| count - Return 1 if the specified pointer is in the set, 0 otherwise. More... | |
| iterator | find (PtrType Ptr) const |
| template<typename IterT > | |
| void | insert (IterT I, IterT E) |
| void | insert (std::initializer_list< PtrType > IL) |
| iterator | begin () const |
| iterator | end () const |
Public Member Functions inherited from llvm::SmallPtrSetImplBase | |
| SmallPtrSetImplBase & | operator= (const SmallPtrSetImplBase &)=delete |
| LLVM_NODISCARD bool | empty () const |
| size_type | size () const |
| void | clear () |
Protected Member Functions | |
| SmallPtrSetImpl (const void **SmallStorage, const SmallPtrSetImpl &that) | |
| SmallPtrSetImpl (const void **SmallStorage, unsigned SmallSize, SmallPtrSetImpl &&that) | |
| SmallPtrSetImpl (const void **SmallStorage, unsigned SmallSize) | |
Protected Member Functions inherited from llvm::SmallPtrSetImplBase | |
| SmallPtrSetImplBase (const void **SmallStorage, const SmallPtrSetImplBase &that) | |
| SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize, SmallPtrSetImplBase &&that) | |
| SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize) | |
| ~SmallPtrSetImplBase () | |
| const void ** | EndPointer () const |
| std::pair< const void *const *, bool > | insert_imp (const void *Ptr) |
| insert_imp - This returns true if the pointer was new to the set, false if it was already in the set. More... | |
| bool | erase_imp (const void *Ptr) |
| erase_imp - If the set contains the specified pointer, remove it and return true, otherwise return false. More... | |
| const void *const * | find_imp (const void *Ptr) const |
| Returns the raw pointer needed to construct an iterator. More... | |
| void | swap (SmallPtrSetImplBase &RHS) |
| swap - Swaps the elements of two sets. More... | |
| void | CopyFrom (const SmallPtrSetImplBase &RHS) |
| void | MoveFrom (unsigned SmallSize, SmallPtrSetImplBase &&RHS) |
Additional Inherited Members | |
Static Protected Member Functions inherited from llvm::SmallPtrSetImplBase | |
| static void * | getTombstoneMarker () |
| static void * | getEmptyMarker () |
Protected Attributes inherited from llvm::SmallPtrSetImplBase | |
| const void ** | SmallArray |
| SmallArray - Points to a fixed size set of buckets, used in 'small mode'. More... | |
| const void ** | CurArray |
| CurArray - This is the current set of buckets. More... | |
| unsigned | CurArraySize |
| CurArraySize - The allocated size of CurArray, always a power of two. More... | |
| unsigned | NumNonEmpty |
| Number of elements in CurArray that contain a value or are a tombstone. More... | |
| unsigned | NumTombstones |
| Number of tombstones in CurArray. More... | |
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 345 of file SmallPtrSet.h.
| typedef SmallPtrSetIterator<PtrType> llvm::SmallPtrSetImpl< PtrType >::const_iterator |
Definition at line 360 of file SmallPtrSet.h.
| typedef SmallPtrSetIterator<PtrType> llvm::SmallPtrSetImpl< PtrType >::iterator |
Definition at line 359 of file SmallPtrSet.h.
|
inlineprotected |
Definition at line 350 of file SmallPtrSet.h.
|
inlineprotected |
Definition at line 352 of file SmallPtrSet.h.
|
inlineexplicitprotected |
Definition at line 355 of file SmallPtrSet.h.
|
delete |
|
inline |
Definition at line 398 of file SmallPtrSet.h.
Referenced by llvm::MemoryDepChecker::areDepsSafe(), findBBsToSinkInto(), llvm::findPHICopyInsertPoint(), FindPredecessorAutoreleaseWithSafePath(), FindPredecessorRetainWithSafePath(), PeepholePPC64ZExtGather(), llvm::RecurrenceDescriptor::RecurrenceDescriptor(), sinkInstruction(), succ_L(), and llvm::LLVMContextImpl::~LLVMContextImpl().
|
inline |
count - Return 1 if the specified pointer is in the set, 0 otherwise.
Definition at line 380 of file SmallPtrSet.h.
Referenced by addArgumentAttrs(), llvm::RecurrenceDescriptor::AddReductionVar(), llvm::PreservedAnalyses::allAnalysesInSetPreserved(), llvm::CodeMetrics::analyzeBasicBlock(), llvm::PreservedAnalyses::areAllPreserved(), llvm::RecurrenceDescriptor::areAllUsesIn(), llvm::bothUsedInPHI(), llvm::ForwardDominanceFrontierBase< BlockT >::calculate(), CanPropagatePredecessorsForPHIs(), checkForCyclesHelper(), collectValuesToDemote(), llvm::DomTreeNodeBase< NodeT >::compare(), completeEphemeralValues(), llvm::computeMinimumValueSizes(), ComputePostOrders(), llvm::LoopBase< BasicBlock, Loop >::contains(), determinePointerReadAttrs(), DominatesMergePoint(), DoPromotion(), eliminateUnreachableBlock(), llvm::FindFunctionBackedges(), llvm::DominatorTreeBase< BasicBlock >::findNearestCommonDominator(), llvm::findPHICopyInsertPoint(), findReturnsToZap(), FoldTwoEntryPHINode(), llvm::RecurrenceDescriptor::getSourceExtensionKind(), getUnwindDestToken(), llvm::slpvectorizer::BoUpSLP::getVectorElementSize(), hasMemberOtherThanUs(), llvm::RecurrenceDescriptor::hasMultipleUsesOf(), hasOutsideLoopUser(), llvm::SDNode::hasPredecessorHelper(), llvm::LoopAccessInfo::hasStride(), inlineCallsImpl(), InsertRootInitializers(), llvm::PreservedAnalyses::intersect(), isEphemeralValueOf(), llvm::LiveVariables::isLiveOut(), isProfitableToFoldUnconditional(), IsSafeAndProfitableToMove(), isSimplifiedLoopNest(), isSuccOrder(), llvm::SelectionDAG::LegalizeOp(), LinearizeExprTree(), mayLoopAccessLocation(), mergeConstants(), llvm::PreservedAnalyses::PreservedAnalysisChecker::preserved(), llvm::PreservedAnalyses::PreservedAnalysisChecker::preservedSet(), llvm::AlignmentFromAssumptionsPass::processAssumption(), llvm::removeUnreachableBlocks(), llvm::ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT >::run(), runImpl(), llvm::LiveVariables::runOnMachineFunction(), SafeToMergeTerminators(), llvm::JumpThreadingPass::SimplifyPartiallyRedundantLoad(), SinkThenElseCodeToEnd(), llvm::InstCombiner::SliceUpIllegalIntegerPHI(), StripSymbolNames(), llvm::updateCGAndAnalysisManagerForFunctionPass(), updatePostorderSequenceForEdgeInsertion(), and llvm::AssumptionCacheTracker::verifyAnalysis().
|
inline |
Definition at line 405 of file SmallPtrSet.h.
Referenced by findBBsToSinkInto(), PeepholePPC64ZExtGather(), llvm::RecurrenceDescriptor::RecurrenceDescriptor(), sink(), and sinkInstruction().
|
inline |
erase - If the set contains the specified pointer, remove it and return true, otherwise return false.
Definition at line 375 of file SmallPtrSet.h.
Referenced by llvm::PreservedAnalyses::abandon(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::MemoryDepChecker::areDepsSafe(), checkForCyclesHelper(), ComputePostOrders(), llvm::FindFunctionBackedges(), llvm::slpvectorizer::BoUpSLP::getSpillCost(), llvm::PreservedAnalyses::intersect(), llvm::LanaiInstrInfo::optimizeSelect(), llvm::ARMBaseInstrInfo::optimizeSelect(), and llvm::LoopBase< BasicBlock, Loop >::removeBlockFromLoop().
|
inline |
Definition at line 383 of file SmallPtrSet.h.
Referenced by llvm::SmallPtrSetImpl< llvm::BasicBlock * >::count(), and sink().
|
inline |
Inserts Ptr if and only if there is no element in the container equal to Ptr.
The bool component of the returned pair is true if and only if the insertion takes place, and the iterator component of the pair points to the element equal to Ptr.
Definition at line 368 of file SmallPtrSet.h.
Referenced by AddAliasScopeMetadata(), addArgumentAttrs(), llvm::LoopBase< BasicBlock, Loop >::addBlockEntry(), llvm::AArch64FunctionInfo::addLOHDirective(), AddReachableCodeToWorklist(), llvm::RecurrenceDescriptor::AddReductionVar(), llvm::IVUsers::AddUsersImpl(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::PreservedAnalyses::all(), AllUsesOfValueWillTrapIfNull(), analyzeGlobalAux(), appendSpeculatableOperands(), appendToUsedList(), AreAnyUnderlyingObjectsAnAlloca(), llvm::buildModuleSummaryIndex(), llvm::IDFCalculator< NodeTy >::calculate(), llvm::ForwardDominanceFrontierBase< BlockT >::calculate(), llvm::VirtRegAuxInfo::calculateSpillWeightAndHint(), canPaddingBeAccessed(), canTrapImpl(), checkForCyclesHelper(), llvm::CodeMetrics::collectEphemeralValues(), collectMDInDomain(), llvm::collectUsedGlobalVariables(), llvm::FunctionComparator::compare(), llvm::DomTreeNodeBase< NodeT >::compare(), completeEphemeralValues(), llvm::ObjectSizeOffsetVisitor::compute(), llvm::computeMinimumValueSizes(), llvm::slpvectorizer::BoUpSLP::computeMinimumValueSizes(), computePath(), ComputePostOrders(), ConstHasGlobalValuePredicate(), contains(), llvm::ScalarEvolution::convertSCEVToAddRecWithPredicates(), llvm::MachineBasicBlock::CorrectExtraCFGEdges(), cxxDtorIsEmpty(), DeadPHICycle(), llvm::AsmPrinter::doFinalization(), DominatesMergePoint(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::Eval(), llvm::Evaluator::EvaluateFunction(), extendSegmentsToUses(), llvm::CodeExtractor::extractCodeRegion(), llvm::DIBuilder::finalize(), findBBsToSinkInto(), llvm::objcarc::FindDependencies(), llvm::FindFunctionBackedges(), findLoopInstr(), llvm::DominatorTreeBase< BasicBlock >::findNearestCommonDominator(), findNonImmUse(), findPartitions(), llvm::findPHICopyInsertPoint(), findRefEdges(), FindUsedValues(), findUsedValues(), FindUses(), foldBlockIntoPredecessor(), forEachUser(), llvm::ScalarEvolution::forgetLoop(), llvm::ScalarEvolution::forgetValue(), getAdjustedPtr(), llvm::LexicalScopes::getMachineBasicBlocks(), llvm::MemoryDependenceResults::getNonLocalCallDependency(), llvm::GetPointerBaseWithConstantOffset(), llvm::RecurrenceDescriptor::getSourceExtensionKind(), llvm::slpvectorizer::BoUpSLP::getSpillCost(), GetStringLengthH(), getUnderlyingObjects(), llvm::GetUnderlyingObjects(), getUnwindDestToken(), llvm::slpvectorizer::BoUpSLP::getVectorElementSize(), HandleInlinedLandingPad(), hasConcreteDef(), hasConcreteDefImpl(), llvm::SDNode::hasPredecessorHelper(), llvm::PMTopLevelManager::initializeAllAnalysisInfo(), inlineCallsImpl(), llvm::df_iterator_default_set< typename GraphTraits< std::conditional< IsConst, const BlockT, BlockT >::type * >::NodeRef >::insert(), llvm::SmallPtrSetImpl< llvm::BasicBlock * >::insert(), llvm::LazyCallGraph::RefSCC::insertIncomingRefEdge(), InsertRootInitializers(), llvm::LazyCallGraph::SCC::isAncestorOf(), isDereferenceableAndAlignedPointer(), isEphemeralValueOf(), isHighCostExpansion(), llvm::LiveVariables::isLiveOut(), isNonEscapingGlobalNoAliasWithLoad(), isObjectSizeLessThanOrEq(), llvm::isPotentiallyReachableFromMany(), isSafeToMove(), IsScalarTBAANodeImpl(), isSimpleEnoughValueToCommit(), isSimplifiedLoopNest(), llvm::StructType::isSized(), IsStoredObjCPointer(), isSuccOrder(), isVectorReductionOp(), iterativelySimplifyCFG(), llvm::SelectionDAG::Legalize(), llvm::SelectionDAG::LegalizeOp(), LinearizeExprTree(), LoadUsesSimpleEnoughForHeapSRA(), llvm::RecurrenceDescriptor::lookThroughAnd(), llvm::LoopBase< BasicBlock, Loop >::LoopBase(), markAliveBlocks(), MarkBlocksLiveIn(), memoryIsNotModifiedBetween(), mergeConditionalStores(), mergeInlinedArrayAllocas(), llvm::SelectionDAG::MorphNodeTo(), llvm::SmallPtrSet< Instruction *, 8 >::operator=(), llvm::LanaiInstrInfo::optimizeSelect(), llvm::ARMBaseInstrInfo::optimizeSelect(), PeepholePPC64ZExtGather(), PHIsEqualValue(), llvm::PreservedAnalyses::preserve(), llvm::PreservedAnalyses::preserveSet(), llvm::AlignmentFromAssumptionsPass::processAssumption(), PromoteArguments(), llvm::promoteLoopAccessesToScalars(), pushIVUsers(), llvm::RecurrenceDescriptor::RecurrenceDescriptor(), llvm::RecursivelyDeleteDeadPHINode(), RemoveDeadConstant(), llvm::LiveRange::RenumberValues(), llvm::LoopDeletionPass::runImpl(), runImpl(), runIPSCCP(), SimplifyLoopInst(), simplifyOneLoop(), llvm::JumpThreadingPass::SimplifyPartiallyRedundantLoad(), sinkInstruction(), SinkThenElseCodeToEnd(), llvm::InstCombiner::SliceUpIllegalIntegerPHI(), llvm::SmallPtrSet< Instruction *, 8 >::SmallPtrSet(), sortOpts(), llvm::Value::stripAndAccumulateInBoundsConstantOffsets(), stripAndComputeConstantOffsets(), llvm::IVStrideUse::transformToPostInc(), llvm::updateCGAndAnalysisManagerForFunctionPass(), updateLiveness(), ValueIsOnlyUsedLocallyOrStoredToOneGlobal(), llvm::AssumptionCacheTracker::verifyAnalysis(), llvm::InstCombiner::visitLandingPadInst(), llvm::InstCombiner::visitPHINode(), llvm::LazyCallGraph::visitReferences(), and llvm::TBAAVerifier::visitTBAAMetadata().
|
inline |
Definition at line 389 of file SmallPtrSet.h.
|
inline |
Definition at line 394 of file SmallPtrSet.h.
1.8.6