|
LLVM 23.0.0git
|
A templated base class for SmallPtrSet which provides the typesafe interface that is common across all small sizes.
More...
#include "llvm/ADT/SmallPtrSet.h"
Inherits llvm::SmallPtrSetImplBase.
Inherited by llvm::SmallPtrSet< const Loop *, 2 >, llvm::SmallPtrSet< const MachineBasicBlock *, 4 >, llvm::SmallPtrSet< SUnit *, 8 >, llvm::SmallPtrSet< CallBase *, 2 >, llvm::SmallPtrSet< AssumeInst *, 4 >, llvm::SmallPtrSet< const Metadata *, 16 >, llvm::SmallPtrSet< const PHINode *, 8 >, llvm::SmallPtrSet< const MachineBasicBlock *, 8 >, llvm::SmallPtrSet< const SDNode *, 32 >, llvm::SmallPtrSet< const MachineBasicBlock *, 16 >, llvm::SmallPtrSet< Module *, 4 >, llvm::SmallPtrSet< const MachineInstr *, 16 >, llvm::iterator<, 1 >, llvm::iterator<, 4 >, llvm::SmallPtrSet< const BasicBlock *, 8 >, llvm::SmallPtrSet< MemberType *, 4 >, llvm::SmallPtrSet< const MemoryMemberType *, 2 >, llvm::SmallPtrSet< const GlobalValue *, 16 >, and llvm::SmallPtrSet< PtrType, SmallSize >.
Public Types | |
| using | iterator = SmallPtrSetIterator<PtrType> |
| using | const_iterator = SmallPtrSetIterator<PtrType> |
| using | key_type = ConstPtrType |
| using | value_type = PtrType |
| Public Types inherited from llvm::SmallPtrSetImplBase | |
| using | size_type = unsigned |
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. | |
| iterator | insert (iterator, PtrType Ptr) |
| Insert the given pointer with an iterator hint that is ignored. | |
| bool | erase (PtrType Ptr) |
| Remove pointer from the set. | |
| template<typename UnaryPredicate> | |
| bool | remove_if (UnaryPredicate P) |
| Remove elements that match the given predicate. | |
| size_type | count (ConstPtrType Ptr) const |
| count - Return 1 if the specified pointer is in the set, 0 otherwise. | |
| iterator | find (ConstPtrType Ptr) const |
| bool | contains (ConstPtrType Ptr) const |
| template<typename IterT> | |
| void | insert (IterT I, IterT E) |
| void | insert (std::initializer_list< PtrType > IL) |
| template<typename Range> | |
| void | insert_range (Range &&R) |
| iterator | begin () const |
| iterator | end () const |
| Public Member Functions inherited from llvm::SmallPtrSetImplBase | |
| SmallPtrSetImplBase & | operator= (const SmallPtrSetImplBase &)=delete |
| bool | empty () const |
| size_type | size () const |
| size_type | capacity () const |
| void | clear () |
| void | reserve (size_type NewNumEntries) |
| Public Member Functions inherited from llvm::DebugEpochBase | |
| void | incrementEpoch () |
Protected Member Functions | |
| LLVM_ABI | SmallPtrSetImplBase (const void **SmallStorage, const SmallPtrSetImplBase &that) |
| LLVM_ABI | SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize, const void **RHSSmallStorage, SmallPtrSetImplBase &&that) |
| SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize) | |
| Protected Member Functions inherited from llvm::SmallPtrSetImplBase | |
| LLVM_ABI | SmallPtrSetImplBase (const void **SmallStorage, const SmallPtrSetImplBase &that) |
| LLVM_ABI | SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize, const void **RHSSmallStorage, SmallPtrSetImplBase &&that) |
| SmallPtrSetImplBase (const void **SmallStorage, unsigned SmallSize) | |
| ~SmallPtrSetImplBase () | |
| const void ** | EndPointer () const |
| iterator_range< const void ** > | small_buckets () |
| iterator_range< const void *const * > | small_buckets () const |
| iterator_range< const void ** > | buckets () |
| iterator_range< const void *const * > | buckets () 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. | |
| bool | erase_imp (const void *Ptr) |
| erase_imp - If the set contains the specified pointer, remove it and return true, otherwise return false. | |
| const void *const * | find_imp (const void *Ptr) const |
| Returns the raw pointer needed to construct an iterator. | |
| bool | contains_imp (const void *Ptr) const |
| bool | isSmall () const |
| LLVM_ABI void | eraseFromBucket (const void **Bucket) |
Erase the entry at Bucket and close the resulting hole via Knuth TAOCP 6.4 Algorithm R. | |
| LLVM_ABI void | Grow (unsigned NewSize) |
| Allocate a larger backing store for the buckets and move it over. | |
| LLVM_ABI void | swap (const void **SmallStorage, const void **RHSSmallStorage, SmallPtrSetImplBase &RHS) |
| swap - Swaps the elements of two sets. | |
| LLVM_ABI void | copyFrom (const void **SmallStorage, const SmallPtrSetImplBase &RHS) |
| LLVM_ABI void | moveFrom (const void **SmallStorage, unsigned SmallSize, const void **RHSSmallStorage, SmallPtrSetImplBase &&RHS) |
Additional Inherited Members | |
| Static Protected Member Functions inherited from llvm::SmallPtrSetImplBase | |
| static void * | getEmptyMarker () |
| Protected Attributes inherited from llvm::SmallPtrSetImplBase | |
| const void ** | CurArray |
| The current set of buckets, in either small or big representation. | |
| unsigned | CurArraySize |
| CurArraySize - The allocated size of CurArray, always a power of two. | |
| unsigned | NumEntries |
| Number of elements in CurArray that contain a value. | |
| bool | IsSmall |
| Whether the set is in small representation. | |
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 366 of file SmallPtrSet.h.
| using llvm::SmallPtrSetImpl< PtrType >::const_iterator = SmallPtrSetIterator<PtrType> |
Definition at line 377 of file SmallPtrSet.h.
| using llvm::SmallPtrSetImpl< PtrType >::iterator = SmallPtrSetIterator<PtrType> |
Definition at line 376 of file SmallPtrSet.h.
| using llvm::SmallPtrSetImpl< PtrType >::key_type = ConstPtrType |
Definition at line 378 of file SmallPtrSet.h.
| using llvm::SmallPtrSetImpl< PtrType >::value_type = PtrType |
Definition at line 379 of file SmallPtrSet.h.
|
delete |
|
inlinenodiscard |
Definition at line 484 of file SmallPtrSet.h.
Referenced by llvm::AArch64TargetMachine::clearLinkerOptimizationHints(), collectInstructionsInBetween(), ComputeLiveInBlocks(), computeLiveInBlocks(), convertFSqrtDivIntoFMul(), llvm::objcarc::findSingleDependency(), llvm::ReachingDefInfo::getUniqueReachingMIDef(), isFSqrtDivToFMulLegal(), iterativelySimplifyCFG(), llvm::MergeBlockSuccessorsIntoGivenBlocks(), llvm::SCCPSolver::removeNonFeasibleEdges(), llvm::AbstractDependenceGraphBuilder< GraphType >::simplify(), and simplifyBlends().
|
inlinenodiscard |
Definition at line 467 of file SmallPtrSet.h.
Referenced by AddAliasScopeMetadata(), llvm::LoopSafetyInfo::allLoopPathsLeadToBlock(), llvm::InterleavedAccessInfo::analyzeInterleaving(), llvm::SampleProfileInference< FT >::apply(), llvm::MemoryDepChecker::areDepsSafe(), llvm::calculateRegisterUsageForPlan(), slpvectorizer::BoUpSLP::canBuildSplitNode(), llvm::ScalarEvolution::canReuseInstruction(), llvm::AArch64FunctionInfo::clearLinkerOptimizationHints(), llvm::CloneAndPruneIntoFromInst(), clusterSortPtrAccesses(), llvm::VFSelectionContext::collectElementTypesForWidening(), collectPromotionCandidates(), combineOp_VLToVWOp_VL(), llvm::CommonPointerBase::compute(), llvm::computeKnownBitsFromContext(), computeKnownFPClassFromContext(), llvm::VPlanTransforms::createHeaderPhiRecipes(), dominatesMergePoint(), eliminateDeadSwitchCases(), llvm::SCEVExpander::eraseDeadInstructions(), llvm::ScalarEvolution::ExitLimit::ExitLimit(), llvm::filterDeadComdatFunctions(), llvm::findPHICopyInsertPoint(), foldCondBranchOnValueKnownInPredecessorImpl(), llvm::memtag::forAllReachableExits(), gatherPossiblyVectorizableLoads(), getAppleRuntimeUnrollPreferences(), llvm::MDNode::getMostGenericAliasScope(), llvm::getRange(), slpvectorizer::BoUpSLP::getSpillCost(), llvm::VPlanTransforms::handleMaxMinNumReductions(), llvm::hasPartialIVCondition(), llvm::PreservedAnalyses::intersect(), isFindLastLikePhi(), isReachableImpl(), llvm::HexagonLiveVariables::isUsedWithin(), mayLoopAccessLocation(), llvm::MergeBlockIntoPredecessor(), mergeIdenticalBBs(), mergeReplicateRegionsIntoSuccessors(), narrowInterleaveGroupOp(), llvm::SMSchedule::normalizeNonPipelinedInstructions(), peelToTurnInvariantLoadsDereferenceable(), PHIAreRefEachOther(), llvm::SCCPSolver::removeNonFeasibleEdges(), removeUnusedBlocksFromParent(), slpvectorizer::BoUpSLP::VLOperands::reorder(), rewriteFunction(), llvm::LoopFullUnrollPass::run(), llvm::LoopVectorizationCostModel::setCostBasedWideningDecision(), simplifyICmpUsingMonotonicValues(), StripSymbolNames(), llvm::TryToSimplifyUncondBranchFromEmptyBlock(), UpdatePHINodes(), useFuncSeen(), ValidateMVEStore(), llvm::ScalarEvolution::verify(), and visit().
|
inlinenodiscard |
count - Return 1 if the specified pointer is in the set, 0 otherwise.
Definition at line 461 of file SmallPtrSet.h.
Referenced by AddAliasScopeMetadata(), addArgumentAttrs(), llvm::RecurrenceDescriptor::AddReductionVar(), llvm::LoopSafetyInfo::allLoopPathsLeadToBlock(), alwaysInlineImpl(), llvm::CodeMetrics::analyzeBasicBlock(), analyzeLoopUnrollCost(), llvm::SampleProfileInference< FT >::apply(), bothUsedInPHI(), buildClonedLoops(), CanPropagatePredecessorsForPHIs(), canProveExitOnFirstIteration(), CanRedirectPredsOfEmptyBBToSucc(), checkForCyclesHelper(), checkOuterLoopInsts(), checkPHIs(), collectCastInstrs(), collectLeaves(), llvm::DomTreeNodeBase< BlockT >::compare(), completeEphemeralValues(), ComputeLiveInBlocks(), computeLiveInBlocks(), llvm::computeMinimumValueSizes(), ComputePostOrders(), llvm::SMSchedule::computeUnpipelineableNodes(), llvm::JumpThreadingPass::computeValueKnownInPredecessorsImpl(), llvm::containsIrreducibleCFG(), llvm::OpenMPIRBuilder::createParallel(), deleteIfDead(), determinePointerAccessAttrs(), dominatesMergePoint(), llvm::findAllocaForValue(), findBestInsertionSet(), findBestNonTrivialUnswitchCandidate(), findConsecutiveLoad(), findDependencies(), foldTwoEntryPHINode(), getExitFor(), llvm::ReachingDefInfo::getGlobalUses(), llvm::ReachingDefInfo::getLiveOuts(), llvm::LoopBase< BasicBlock, Loop >::getLoopLatch(), getSingleLiveInSuccBB(), getTrueOrFalseValue(), getUnwindDestToken(), llvm::RecurrenceDescriptor::hasMultipleUsesOf(), llvm::hasOutsideLoopUser(), llvm::SDNode::hasPredecessorHelper(), hasSameSuccessors(), hoistAndMergeSGPRInits(), InsertRootInitializers(), llvm::MDNode::intersect(), llvm::intersectAccessGroups(), isAllDILocation(), llvm::Loop::isAnnotatedParallel(), llvm::LiveVariables::isLiveOut(), isReachableImpl(), IsSafeAndProfitableToMove(), llvm::isSafeToUnrollAndJam(), isSuccOrder(), isUnmergeableGlobal(), llvm::SelectionDAG::LegalizeOp(), LinearizeExprTree(), mayLoopAccessLocation(), moveHeaderPhiOperandsToForeBlocks(), llvm::mustTriggerUB(), llvm::nonStrictlyPostDominate(), optimizeLoopExitWithUnknownExitCount(), partitionLoopBlocks(), llvm::InstCombinerImpl::prepareWorklist(), llvm::AlignmentFromAssumptionsPass::processAssumption(), processHeaderPhiOperands(), programUndefinedIfUndefOrPoison(), llvm::instrumentor::readConfigFromJSON(), recomputeLoopBlockSet(), recordConditions(), llvm::objcopy::macho::Object::removeSections(), rewriteDebugUsers(), llvm::MemDerefPrinterPass::run(), llvm::ModuleToPostOrderCGSCCPassAdaptor::run(), runImpl(), runImpl(), runMoveAutoInit(), safeToMergeTerminators(), separateNestedLoop(), simplifyLoopInst(), llvm::JumpThreadingPass::simplifyPartiallyRedundantLoad(), sink(), llvm::LoopNest::skipEmptyBlockUntil(), llvm::InstCombinerImpl::SliceUpIllegalIntegerPHI(), splitPredecessorsOfLoopExit(), stripLoopMDLoc(), llvm::UnrollAndJamLoop(), updateCGAndAnalysisManagerForPass(), llvm::MemorySSAUpdater::updateForClonedLoop(), UpdatePHINodes(), updatePostorderSequenceForEdgeInsertion(), updatePredecessorProfileMetadata(), llvm::AssumptionCacheTracker::verifyAnalysis(), verifyCTRBranch(), llvm::GenericCycle< ContextT >::verifyCycle(), llvm::MemorySSA::verifyDominationNumbers(), and llvm::MemorySSAUpdater::wireOldPredecessorsToNewImmediatePredecessor().
|
inlinenodiscard |
Definition at line 490 of file SmallPtrSet.h.
Referenced by ComputeLiveInBlocks(), computeLiveInBlocks(), iterativelySimplifyCFG(), and llvm::AbstractDependenceGraphBuilder< GraphType >::simplify().
|
inline |
Remove pointer from the set.
Returns whether the pointer was in the set. Invalidates iterators if true is returned. To remove elements while iterating over the set, use remove_if() instead.
Definition at line 402 of file SmallPtrSet.h.
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks(), buildClonedLoops(), llvm::calculateRegisterUsageForPlan(), checkForCyclesHelper(), collectInstructionsInBetween(), ComputePostOrders(), eliminateDeadSwitchCases(), getGatherLanePattern(), IsValueFullyAvailableInBlock(), llvm::SelectionDAG::Legalize(), llvm::MergeBlockSuccessorsIntoGivenBlocks(), optimizeLoopExitWithUnknownExitCount(), llvm::ARMBaseInstrInfo::optimizeSelect(), llvm::LanaiInstrInfo::optimizeSelect(), llvm::RISCVInstrInfo::optimizeSelect(), rebuildLoopAfterUnswitch(), slpvectorizer::BoUpSLP::reorderBottomToTop(), llvm::AbstractDependenceGraphBuilder< GraphType >::simplify(), sinkCommonCodeFromPredecessors(), llvm::MemorySSA::verifyDominationNumbers(), and llvm::MemorySSAUpdater::wireOldPredecessorsToNewImmediatePredecessor().
|
inlinenodiscard |
Definition at line 464 of file SmallPtrSet.h.
Referenced by llvm::InformationCache::getOrCreateUniqueBlockExecutionSet().
|
inline |
Insert the given pointer with an iterator hint that is ignored.
This is identical to calling insert(Ptr), but allows SmallPtrSet to be used by std::insert_iterator and std::inserter().
Definition at line 395 of file SmallPtrSet.h.
Referenced by llvm::SmallPtrSetImpl< MachineInstr * >::insert().
|
inline |
Definition at line 471 of file SmallPtrSet.h.
|
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 387 of file SmallPtrSet.h.
Referenced by addArgumentAttrs(), addBlockAndPredsToSet(), addFullyUnrolledInstructionsToIgnore(), llvm::RecurrenceDescriptor::AddReductionVar(), llvm::IVUsers::AddUsersIfInteresting(), slpvectorizer::BoUpSLP::ShuffleInstructionBuilder::adjustExtracts(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::PreservedAnalyses::all(), llvm::LoopSafetyInfo::allLoopPathsLeadToBlock(), AllUsesOfValueWillTrapIfNull(), alwaysInlineImpl(), analyzeGlobalAux(), llvm::InterleavedAccessInfo::analyzeInterleaving(), appendSpeculatableOperands(), llvm::applyDebugifyMetadataToMachineFunction(), llvm::MemoryDepChecker::areDepsSafe(), blockIsSimpleEnoughToThreadThrough(), buildClonedLoopBlocks(), buildClonedLoops(), llvm::SampleProfileLoaderBaseImpl< FT >::buildEdges(), llvm::buildModuleSummaryIndex(), llvm::IDFCalculatorBase< NodeTy, IsPostDom >::calculate(), llvm::MachineIDFSSAUpdater::calculate(), llvm::calculateRegisterUsageForPlan(), canFoldStoreIntoLibCallOutputPointers(), canonicalizePHIOperands(), canProveExitOnFirstIteration(), canRenameUntilSecondLoad(), canRenameUpToDef(), llvm::canReturn(), llvm::ScalarEvolution::canReuseInstruction(), llvm::changeToUnreachable(), llvm::Attributor::checkForAllUses(), checkForCyclesHelper(), checkIfSupported(), checkMixedPrecision(), checkPHIs(), CleanupConstantGlobalUsers(), clearAssumptionsOfUsers(), llvm::CloneAndPruneIntoFromInst(), llvm::CloneFunctionInto(), clusterSortPtrAccesses(), collectCastInstrs(), llvm::CodeMetrics::collectEphemeralValues(), llvm::CodeMetrics::collectEphemeralValues(), collectEscapedLocals(), collectHomogenousInstGraphLoopInvariants(), collectInstructionsInBetween(), collectLeaves(), collectMDInDomain(), collectPHINodes(), collectPointerReturningCalls(), llvm::collectPossibleValues(), collectPromotionCandidates(), llvm::ScopedNoAliasAAResult::collectScopedDomains(), collectSRATypes(), collectTransitivePredecessors(), combineOp_VLToVWOp_VL(), llvm::DomTreeNodeBase< BlockT >::compare(), llvm::FunctionComparator::compare(), completeEphemeralValues(), llvm::CommonPointerBase::compute(), computeFunctionSummary(), computeHeuristicUnrollFactor(), ComputeLiveInBlocks(), computeLiveInBlocks(), llvm::computeMinimumValueSizes(), computePath(), ComputePostOrders(), llvm::SMSchedule::computeUnpipelineableNodes(), llvm::JumpThreadingPass::computeValueKnownInPredecessorsImpl(), llvm::ConstantFoldTerminator(), ConstHasGlobalValuePredicate(), llvm::containsIrreducibleCFG(), containsUnreachable(), llvm::SelectionDAG::copyExtraInfo(), llvm::AbstractDependenceGraphBuilder< GraphType >::createDefUseEdges(), llvm::VPlanTransforms::createPartialReductions(), despeculateCountZeros(), llvm::detachDeadBlocks(), determinePointerAccessAttrs(), llvm::AsmPrinter::doFinalization(), dominatesMergePoint(), llvm::VPlanTransforms::dropPoisonGeneratingRecipes(), DumpNodesr(), llvm::VETargetLowering::emitSjLjDispatchBlock(), emptyAndDetachBlock(), llvm::SCEVExpander::eraseDeadInstructions(), llvm::Evaluator::EvaluateFunction(), llvm::ScalarEvolution::ExitLimit::ExitLimit(), expandProtectedFieldPtr(), feedsIntoVectorReduction(), llvm::filterDeadComdatFunctions(), llvm::ControlFlowHub::finalize(), llvm::DIBuilder::finalize(), FindAllMemoryUses(), llvm::findAllocaForValue(), findArgParts(), findBBsToSinkInto(), findBestNonTrivialUnswitchCandidate(), findConsecutiveLoad(), findDbgIntrinsics(), findDependencies(), findExtractedOutputToOverallOutputMapping(), llvm::MustBeExecutedContextExplorer::findForwardJoinPoint(), findLoopComponents(), llvm::HexagonInstrInfo::findLoopInstr(), findNonImmUse(), findPartitions(), llvm::findPHICopyInsertPoint(), findReaching(), findRefEdges(), FindUsedValues(), findUsedValues(), llvm::findValuesAffectedByCondition(), llvm::InstCombinerImpl::foldDeadPhiWeb(), llvm::InstCombinerImpl::foldFreezeIntoRecurrence(), foldMemChr(), foldURemOfLoopIncrement(), llvm::memtag::forAllReachableExits(), forEachUser(), llvm::ScalarEvolution::forgetBlockAndLoopDispositions(), llvm::ScalarEvolution::forgetValue(), llvm::formDedicatedExitBlocks(), llvm::FunctionPropertiesUpdater::FunctionPropertiesUpdater(), gatherPossiblyVectorizableLoads(), llvm::MCResourceInfo::gatherResourceInfo(), generateReproducer(), getAppleRuntimeUnrollPreferences(), llvm::Attributor::getAssumedSimplifiedValues(), getCallArgsTotalAllocaSize(), getContinueBlocks(), getEdgeKind(), getFSqrtDivOptPattern(), getGatherLanePattern(), llvm::ReachingDefInfo::getGlobalReachingDefs(), llvm::ReachingDefInfo::getGlobalUses(), getHeaderBlocks(), llvm::ReachingDefInfo::getLiveOuts(), llvm::LoopBase< BasicBlock, Loop >::getLoopLatch(), llvm::LexicalScopes::getMachineBasicBlocks(), getMergeBlocks(), llvm::MDNode::getMergedCalleeTypeMetadata(), llvm::MDNode::getMostGenericAliasScope(), llvm::MemoryDependenceResults::getNonLocalCallDependency(), getOutliningPenalty(), getPostIndexedLoadStoreOp(), llvm::VPCostContext::getScalarizationOverhead(), slpvectorizer::BoUpSLP::getSpillCost(), GetStringLengthH(), llvm::AMDGPU::getTransitiveUsesOfLDS(), slpvectorizer::BoUpSLP::getTreeCost(), getTypeSizeImpl(), llvm::getUnderlyingObjectAggressive(), llvm::getUnderlyingObjects(), llvm::getUnderlyingObjectsForCodeGen(), llvm::getUniqueExitBlocksHelper(), getUnsignedMonotonicValues(), getUnwindDestToken(), slpvectorizer::BoUpSLP::getVectorElementSize(), llvm::guessSuccessors(), HandleInlinedLandingPad(), llvm::VPlanTransforms::handleMaxMinNumReductions(), HandleMergeInputChains(), hasCFUser(), hasConcreteDef(), hasConcreteDefImpl(), hasHardUserWithinLoop(), llvm::hasPartialIVCondition(), llvm::SDNode::hasPredecessorHelper(), slpvectorizer::BoUpSLP::hasSameNode(), hoistAndMergeSGPRInits(), hoistPreviousBeforeFORUsers(), llvm::SmallPtrSetImpl< MachineInstr * >::insert(), llvm::SmallPtrSetImpl< MachineInstr * >::insert(), llvm::SmallPtrSetImpl< MachineInstr * >::insert_range(), llvm::MemorySSAUpdater::insertDef(), llvm::LazyCallGraph::RefSCC::insertIncomingRefEdge(), insertIntrinsicCalls(), InsertRootInitializers(), isAllDILocation(), llvm::LazyCallGraph::RefSCC::isAncestorOf(), llvm::LazyCallGraph::SCC::isAncestorOf(), llvm::Loop::isAnnotatedParallel(), isBlockValidForExtraction(), llvm::AMDGPU::isClobberedInFunction(), isConstReg(), isDereferenceableAndAlignedPointer(), isDILocationReachable(), isEphemeralValueOf(), llvm::RecurrenceDescriptor::isFixedOrderRecurrence(), llvm::isGuardAsWidenableBranch(), isHighCostExpansion(), isInertARCValue(), isKnownNonNullFromDominatingCondition(), llvm::LiveVariables::isLiveOut(), isLoadCombineCandidate(), isLocalAlloca(), isNonEqualPHIs(), isNonEscapingGlobalNoAliasWithLoad(), isObjectSizeLessThanOrEq(), isOnlyCopiedFromConstantMemory(), isPotentiallyReachable(), isReachableImpl(), llvm::isSafeToDestroyConstant(), isSafeToMove(), llvm::isSafeToMoveBefore(), IsScalarTBAANodeImpl(), isSignExtendedW(), isSignExtendedW(), isSimpleEnoughValueToCommit(), llvm::sandboxir::Type::isSized(), IsStoredObjCPointer(), isSuccOrder(), isSuspendReachableFrom(), isUniformlyReached(), llvm::vputils::isUsedByLoadStoreAddress(), IsValueFullyAvailableInBlock(), iterativelySimplifyCFG(), llvm::LazyCallGraph::LazyCallGraph(), llvm::SelectionDAG::Legalize(), llvm::SelectionDAG::LegalizeOp(), liesBetween(), LinearizeExprTree(), lookThroughAnd(), MarkBlocksLiveIn(), llvm::CombinerHelper::matchExtendThroughPhis(), llvm::MergeBasicBlockIntoOnlyPred(), llvm::MergeBlockIntoPredecessor(), mergeConditionalStores(), mergeReplicateRegionsIntoSuccessors(), llvm::SelectionDAG::MorphNodeTo(), llvm::mustExecuteUBIfPoisonOnPathTo(), narrowInterleaveGroupOp(), llvm::nonStrictlyPostDominate(), llvm::SmallPtrSet< NodeRef, SmallSize >::operator=(), optimizeGlobalsInModule(), optimizeLoopExitWithUnknownExitCount(), llvm::ARMBaseInstrInfo::optimizeSelect(), llvm::LanaiInstrInfo::optimizeSelect(), llvm::RISCVInstrInfo::optimizeSelect(), llvm::Thumb2InstrInfo::optimizeSelect(), parseCondition(), partitionLoopBlocks(), PeepholePPC64ZExtGather(), PerformMVEVLDCombine(), performNEONPostLDSTCombine(), performPostLD1Combine(), PHIAreRefEachOther(), PHIsEqualValue(), llvm::PointerMayBeCaptured(), poisonGuaranteesUB(), llvm::InstCombinerImpl::prepareWorklist(), llvm::AlignmentFromAssumptionsPass::processAssumption(), processBlockAddr(), processHeaderPhiOperands(), programUndefinedIfUndefOrPoison(), llvm::SwiftErrorValueTracking::propagateVRegs(), PushDefUseChildren(), PushLoopPHIs(), pushMemUses(), llvm::instrumentor::readConfigFromJSON(), rebuildLoopAfterUnswitch(), recomputeLoopBlockSet(), recordConditions(), llvm::RecursivelyDeleteDeadPHINode(), recursivelyDeleteDeadRecipes(), recursivelyVisitUsers(), llvm::AssumptionCache::registerAssumption(), RemoveDeadConstant(), llvm::AMDGPU::removeFnAttrFromReachable(), llvm::SCCPSolver::removeNonFeasibleEdges(), llvm::objcopy::macho::Object::removeSections(), removeSwitchAfterSelectFold(), removeUnusedBlocksFromParent(), llvm::LiveRange::RenumberValues(), slpvectorizer::BoUpSLP::VLOperands::reorder(), slpvectorizer::BoUpSLP::reorderBottomToTop(), replaceAllUsesWith(), replaceLoopPHINodesWithPreheaderValues(), llvm::replaceSignedInst(), rewriteAccessChain(), llvm::SSAUpdaterBulk::RewriteAllUses(), rewriteDebugUsers(), rollbackRestoreSplit(), llvm::MemDerefPrinterPass::run(), llvm::OpenMPOptPass::run(), runImpl(), runMoveAutoInit(), llvm::LoopVectorizationCostModel::setCostBasedWideningDecision(), llvm::DbgVariableIntrinsic::setKillLocation(), llvm::DbgVariableRecord::setKillLocation(), setLoopComponents(), llvm::AbstractDependenceGraphBuilder< GraphType >::simplify(), simplifyBlends(), simplifyExtractValueInst(), llvm::simplifyInstruction(), simplifyLoopInst(), simplifyOneLoop(), llvm::JumpThreadingPass::simplifyPartiallyRedundantLoad(), simplifySwitchLookup(), sink(), sinkInstruction(), sinkLifetimeStartMarkers(), sinkRecurrenceUsersAfterPrevious(), llvm::LoopNest::skipEmptyBlockUntil(), llvm::InstCombinerImpl::SliceUpIllegalIntegerPHI(), llvm::SmallPtrSet< NodeRef, SmallSize >::SmallPtrSet(), llvm::SmallPtrSet< NodeRef, SmallSize >::SmallPtrSet(), SoleWriteToDeadLocal(), sortOpts(), SplitBlockImpl(), llvm::SplitIndirectBrCriticalEdges(), SRAGlobal(), stripDebugLocFromLoopID(), StripPointerGEPsAndCasts(), tryInterleave(), tryToElideArgumentCopy(), llvm::TryToSimplifyUncondBranchFromEmptyBlock(), llvm::InstCombinerImpl::tryToSinkInstructionDbgVariableRecords(), tryToSinkOrHoistRecurrenceUsers(), tryToSplitRestore(), unswitchAllTrivialConditions(), unswitchTrivialSwitch(), UpdateAnalysisInformation(), updateCallerBFI(), updateCGAndAnalysisManagerForPass(), updateForAIXShLibTLSModelOpt(), updateLiveness(), updatePredecessorProfileMetadata(), updateSSA(), llvm::UpgradeNVVMAnnotations(), usersDominator(), llvm::PeelingModuloScheduleExpander::validateAgainstModuloScheduleExpander(), ValidateMVEStore(), valueIsOnlyUsedLocallyOrStoredToOneGlobal(), llvm::SLPVectorizerPass::vectorizeNonVectorizableInsts(), llvm::ScalarEvolution::verify(), llvm::AssumptionCacheTracker::verifyAnalysis(), verifyCTRBranch(), llvm::GenericCycle< ContextT >::verifyCycle(), visit(), visitDomSubTree(), llvm::InstCombinerImpl::visitLandingPadInst(), llvm::InstCombinerImpl::visitPHINode(), visitPointers(), llvm::LazyCallGraph::visitReferences(), llvm::TBAAVerifier::visitTBAAMetadata(), llvm::VirtRegAuxInfo::weightCalcHelper(), and llvm::VPExpressionRecipe::~VPExpressionRecipe().
|
inline |
Definition at line 476 of file SmallPtrSet.h.
|
inline |
Definition at line 480 of file SmallPtrSet.h.
Referenced by AddAliasScopeMetadata(), addAliasScopeMetadata(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::VETargetLowering::emitSjLjDispatchBlock(), findBBsToSinkInto(), findBestInsertionSet(), llvm::FunctionPropertiesUpdater::FunctionPropertiesUpdater(), llvm::LexicalScopes::getMachineBasicBlocks(), MarkBlocksLiveIn(), partitionOuterLoopBlocks(), partitionOuterLoopBlocks(), peelToTurnInvariantLoadsDereferenceable(), PeepholePPC64ZExtGather(), slpvectorizer::BoUpSLP::reorderBottomToTop(), llvm::LoopFullUnrollPass::run(), runImpl(), sinkCommonCodeFromPredecessors(), llvm::SplitBlockAndInsertIfThenElse(), and llvm::UnrollAndJamLoop().
|
inline |
Remove elements that match the given predicate.
This method is a safe replacement for the following pattern, which is not valid, because the erase() calls would invalidate the iterator:
for (PtrType *Ptr : Set)
if (Pred(P))
Set.erase(P);
Returns whether anything was removed. The predicate must not access the set being modified: it may inspect the element passed to it and return true to request removal, but must not read (e.g. count()/find()) or otherwise mutate the set. If anything is removed, all iterators and references into the set are invalidated.
Definition at line 420 of file SmallPtrSet.h.
Referenced by llvm::InterleavedAccessInfo::invalidateGroupsRequiringScalarEpilogue().
|
protected |
Definition at line 75 of file SmallPtrSet.cpp.
References llvm::SmallPtrSetImplBase::CurArray.
|
inlineexplicitprotected |
Definition at line 81 of file SmallPtrSet.h.
|
protected |
Definition at line 77 of file SmallPtrSet.cpp.