Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
llvm::SmallPtrSetImpl< PtrType > Class Template Reference

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 Value *, 8 >, llvm::SmallPtrSet< const Loop *, 2 >, llvm::SmallPtrSet< const MachineBasicBlock *, 4 >, llvm::SmallPtrSet< SUnit *, 8 >, llvm::SmallPtrSet< Instruction *, 4 >, 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< MemberType *, 4 >, llvm::SmallPtrSet< const MemoryMemberType *, 2 >, llvm::SmallPtrSet< const GlobalValue *, 16 >, llvm::SmallPtrSet< Value *, 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, boolinsert (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
SmallPtrSetImplBaseoperator= (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 *, boolinsert_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 *constfind_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 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 * getTombstoneMarker ()
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.
unsigned NumTombstones
 Number of tombstones in CurArray.
bool IsSmall
 Whether the set is in small representation.

Detailed Description

template<typename PtrType>
class llvm::SmallPtrSetImpl< PtrType >

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 380 of file SmallPtrSet.h.

Member Typedef Documentation

◆ const_iterator

template<typename PtrType>
using llvm::SmallPtrSetImpl< PtrType >::const_iterator = SmallPtrSetIterator<PtrType>

Definition at line 391 of file SmallPtrSet.h.

◆ iterator

template<typename PtrType>
using llvm::SmallPtrSetImpl< PtrType >::iterator = SmallPtrSetIterator<PtrType>

Definition at line 390 of file SmallPtrSet.h.

◆ key_type

template<typename PtrType>
using llvm::SmallPtrSetImpl< PtrType >::key_type = ConstPtrType

Definition at line 392 of file SmallPtrSet.h.

◆ value_type

template<typename PtrType>
using llvm::SmallPtrSetImpl< PtrType >::value_type = PtrType

Definition at line 393 of file SmallPtrSet.h.

Constructor & Destructor Documentation

◆ SmallPtrSetImpl()

template<typename PtrType>
llvm::SmallPtrSetImpl< PtrType >::SmallPtrSetImpl ( const SmallPtrSetImpl< PtrType > & )
delete

Member Function Documentation

◆ begin()

◆ contains()

template<typename PtrType>
bool llvm::SmallPtrSetImpl< PtrType >::contains ( ConstPtrType Ptr) const
inline

Definition at line 476 of file SmallPtrSet.h.

Referenced by AddAliasScopeMetadata(), llvm::LoopSafetyInfo::allLoopPathsLeadToBlock(), llvm::InterleavedAccessInfo::analyzeInterleaving(), llvm::SampleProfileInference< FT >::apply(), llvm::MemoryDepChecker::areDepsSafe(), llvm::calculateRegisterUsageForPlan(), llvm::ScalarEvolution::canReuseInstruction(), llvm::AArch64FunctionInfo::clearLinkerOptimizationHints(), llvm::CloneAndPruneIntoFromInst(), clusterSortPtrAccesses(), collectPromotionCandidates(), llvm::CommonPointerBase::compute(), llvm::InstCombiner::computeBackEdges(), dominatesMergePoint(), llvm::SCEVExpander::eraseDeadInstructions(), llvm::ScalarEvolution::ExitLimit::ExitLimit(), llvm::filterDeadComdatFunctions(), llvm::findPHICopyInsertPoint(), foldCondBranchOnValueKnownInPredecessorImpl(), llvm::memtag::forAllReachableExits(), gatherPossiblyVectorizableLoads(), generateNewInstTree(), getAppleRuntimeUnrollPreferences(), llvm::MDNode::getMostGenericAliasScope(), llvm::getRange(), llvm::slpvectorizer::BoUpSLP::getSpillCost(), llvm::hasPartialIVCondition(), llvm::PreservedAnalyses::intersect(), isConstReg(), isReachableImpl(), mayLoopAccessLocation(), llvm::MergeBlockIntoPredecessor(), mergeReplicateRegionsIntoSuccessors(), llvm::VPlanTransforms::narrowInterleaveGroups(), llvm::SMSchedule::normalizeNonPipelinedInstructions(), peelToTurnInvariantLoadsDerefencebale(), preparePlanForMainVectorLoop(), llvm::SCCPSolver::removeNonFeasibleEdges(), llvm::slpvectorizer::BoUpSLP::VLOperands::reorder(), rewriteFunction(), llvm::LoopFullUnrollPass::run(), simplifyICmpUsingMonotonicValues(), StripSymbolNames(), llvm::TryToSimplifyUncondBranchFromEmptyBlock(), UpdatePHINodes(), useFuncSeen(), ValidateMVEStore(), llvm::ScalarEvolution::verify(), visit(), and visit().

◆ count()

template<typename PtrType>
size_type llvm::SmallPtrSetImpl< PtrType >::count ( ConstPtrType Ptr) const
inline

count - Return 1 if the specified pointer is in the set, 0 otherwise.

Definition at line 470 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(), llvm::LoopVectorizationLegality::canFoldTailByMasking(), CanPropagatePredecessorsForPHIs(), canProveExitOnFirstIteration(), CanRedirectPredsOfEmptyBBToSucc(), checkForCyclesHelper(), checkOuterLoopInsts(), checkPHIs(), collectCastInstrs(), collectLeaves(), llvm::DomTreeNodeBase< BlockT >::compare(), completeEphemeralValues(), ComputeLiveInBlocks(), llvm::computeMinimumValueSizes(), ComputePostOrders(), llvm::SMSchedule::computeUnpipelineableNodes(), llvm::JumpThreadingPass::computeValueKnownInPredecessorsImpl(), llvm::containsIrreducibleCFG(), deleteIfDead(), determinePointerAccessAttrs(), dominatesMergePoint(), llvm::SMSchedule::earliestCycleInChain(), llvm::LoopVectorizationCostModel::expectedCost(), llvm::findAllocaForValue(), findBestInsertionSet(), findBestNonTrivialUnswitchCandidate(), findConsecutiveLoad(), findDependencies(), llvm::FindFunctionBackedges(), 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(), isReachableAmongDominated(), isReachableImpl(), IsSafeAndProfitableToMove(), llvm::isSafeToUnrollAndJam(), isSuccOrder(), isUnmergeableGlobal(), llvm::SMSchedule::latestCycleInChain(), llvm::SelectionDAG::LegalizeOp(), LinearizeExprTree(), mayLoopAccessLocation(), moveHeaderPhiOperandsToForeBlocks(), llvm::mustTriggerUB(), llvm::nonStrictlyPostDominate(), optimizeLoopExitWithUnknownExitCount(), partitionLoopBlocks(), llvm::InstCombinerImpl::prepareWorklist(), llvm::AlignmentFromAssumptionsPass::processAssumption(), processHeaderPhiOperands(), programUndefinedIfUndefOrPoison(), recomputeLoopBlockSet(), recordConditions(), llvm::objcopy::macho::Object::removeSections(), removeUnusedBlocksFromParent(), rewriteDebugUsers(), llvm::MemDerefPrinterPass::run(), llvm::ModuleToPostOrderCGSCCPassAdaptor::run(), runImpl(), runImpl(), runMoveAutoInit(), safeToMergeTerminators(), separateNestedLoop(), simplifyLoopInst(), llvm::JumpThreadingPass::simplifyPartiallyRedundantLoad(), sink(), llvm::LoopNest::skipEmptyBlockUntil(), llvm::InstCombinerImpl::SliceUpIllegalIntegerPHI(), sortBlocks(), 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().

◆ end()

◆ erase()

◆ find()

template<typename PtrType>
iterator llvm::SmallPtrSetImpl< PtrType >::find ( ConstPtrType Ptr) const
inline

◆ insert() [1/4]

template<typename PtrType>
iterator llvm::SmallPtrSetImpl< PtrType >::insert ( iterator ,
PtrType Ptr )
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 409 of file SmallPtrSet.h.

◆ insert() [2/4]

template<typename PtrType>
template<typename IterT>
void llvm::SmallPtrSetImpl< PtrType >::insert ( IterT I,
IterT E )
inline

Definition at line 481 of file SmallPtrSet.h.

◆ insert() [3/4]

template<typename PtrType>
std::pair< iterator, bool > llvm::SmallPtrSetImpl< PtrType >::insert ( PtrType Ptr)
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 401 of file SmallPtrSet.h.

Referenced by addArgumentAttrs(), addBlockAndPredsToSet(), addFullyUnrolledInstructionsToIgnore(), llvm::RecurrenceDescriptor::AddReductionVar(), llvm::IVUsers::AddUsersIfInteresting(), llvm::slpvectorizer::BoUpSLP::ShuffleInstructionBuilder::adjustExtracts(), llvm::VPlanTransforms::adjustFixedOrderRecurrences(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::PreservedAnalyses::all(), llvm::LoopSafetyInfo::allLoopPathsLeadToBlock(), AllUsesOfValueWillTrapIfNull(), alwaysInlineImpl(), analyzeGlobalAux(), llvm::InterleavedAccessInfo::analyzeInterleaving(), appendSpeculatableOperands(), llvm::MemoryDepChecker::areDepsSafe(), blockIsSimpleEnoughToThreadThrough(), buildClonedLoopBlocks(), buildClonedLoops(), llvm::SampleProfileLoaderBaseImpl< FT >::buildEdges(), llvm::buildModuleSummaryIndex(), llvm::IDFCalculatorBase< NodeTy, IsPostDom >::calculate(), llvm::calculateRegisterUsageForPlan(), canFoldStoreIntoLibCallOutputPointers(), llvm::LoopVectorizationLegality::canFoldTailByMasking(), canonicalizePHIOperands(), canProveExitOnFirstIteration(), canRenameUntilSecondLoad(), canRenameUpToDef(), llvm::canReturn(), llvm::ScalarEvolution::canReuseInstruction(), llvm::changeToUnreachable(), llvm::PatternMatch::undef_match::check(), llvm::Attributor::checkForAllUses(), checkForCyclesHelper(), checkIfSupported(), checkMixedPrecision(), checkPHIs(), CleanupConstantGlobalUsers(), clearAssumptionsOfUsers(), llvm::CloneAndPruneIntoFromInst(), llvm::CloneFunctionInto(), clusterSortPtrAccesses(), collectBlockUseDef(), collectCastInstrs(), llvm::CodeMetrics::collectEphemeralValues(), llvm::CodeMetrics::collectEphemeralValues(), collectEscapedLocals(), collectHomogenousInstGraphLoopInvariants(), collectInstructionsInBetween(), collectLeaves(), collectMDInDomain(), collectPHINodes(), collectPromotionCandidates(), llvm::VPRecipeBuilder::collectScaledReductions(), llvm::ScopedNoAliasAAResult::collectScopedDomains(), collectSRATypes(), collectTransitivePredecessors(), llvm::DomTreeNodeBase< BlockT >::compare(), llvm::FunctionComparator::compare(), completeEphemeralValues(), llvm::CommonPointerBase::compute(), llvm::InstCombiner::computeBackEdges(), computeFunctionSummary(), computeHeuristicUnrollFactor(), ComputeLiveInBlocks(), llvm::computeMinimumValueSizes(), computePath(), ComputePostOrders(), computeUnlikelySuccessors(), llvm::SMSchedule::computeUnpipelineableNodes(), llvm::JumpThreadingPass::computeValueKnownInPredecessorsImpl(), llvm::ConstantFoldTerminator(), ConstHasGlobalValuePredicate(), llvm::containsIrreducibleCFG(), containsUnreachable(), llvm::SelectionDAG::copyExtraInfo(), llvm::AbstractDependenceGraphBuilder< GraphType >::createDefUseEdges(), despeculateCountZeros(), llvm::detachDeadBlocks(), determinePointerAccessAttrs(), llvm::AsmPrinter::doFinalization(), dominatesMergePoint(), llvm::VPlanTransforms::dropPoisonGeneratingRecipes(), DumpNodesr(), llvm::SMSchedule::earliestCycleInChain(), llvm::VETargetLowering::emitSjLjDispatchBlock(), emptyAndDetachBlock(), llvm::SCEVExpander::eraseDeadInstructions(), llvm::Evaluator::EvaluateFunction(), llvm::ScalarEvolution::ExitLimit::ExitLimit(), feedsIntoVectorReduction(), llvm::filterDeadComdatFunctions(), llvm::DIBuilder::finalize(), llvm::SPIRVTargetLowering::finalizeLowering(), FindAllMemoryUses(), llvm::findAllocaForValue(), findArgParts(), findBBsToSinkInto(), findBestNonTrivialUnswitchCandidate(), findConsecutiveLoad(), findDbgIntrinsics(), findDependencies(), findExtractedOutputToOverallOutputMapping(), llvm::MustBeExecutedContextExplorer::findForwardJoinPoint(), llvm::FindFunctionBackedges(), 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(), llvm::BasicTTIImplBase< BasicTTIImpl >::getEstimatedNumberOfCaseClusters(), 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(), llvm::slpvectorizer::BoUpSLP::getSpillCost(), GetStringLengthH(), llvm::AMDGPU::getTransitiveUsesOfLDS(), llvm::slpvectorizer::BoUpSLP::getTreeCost(), getTypeSizeImpl(), llvm::getUnderlyingObjectAggressive(), llvm::getUnderlyingObjects(), llvm::getUnderlyingObjectsForCodeGen(), llvm::getUniqueExitBlocksHelper(), getUnsignedMonotonicValues(), getUnwindDestToken(), llvm::slpvectorizer::BoUpSLP::getVectorElementSize(), llvm::guessSuccessors(), HandleInlinedLandingPad(), HandleMergeInputChains(), hasCFUser(), hasConcreteDef(), hasConcreteDefImpl(), hasHardUserWithinLoop(), llvm::hasPartialIVCondition(), llvm::SDNode::hasPredecessorHelper(), hoistAndMergeSGPRInits(), hoistPreviousBeforeFORUsers(), llvm::SmallPtrSetImpl< MachineInstr * >::insert(), 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(), llvm::IsBlockFollowedByDeoptOrUnreachable(), isBlockValidForExtraction(), llvm::AMDGPU::isClobberedInFunction(), isConstReg(), isDereferenceableAndAlignedPointer(), isDILocationReachable(), isEphemeralValueOf(), llvm::RecurrenceDescriptor::isFixedOrderRecurrence(), llvm::isGuardAsWidenableBranch(), isHighCostExpansion(), isInertARCValue(), isKnownNonNullFromDominatingCondition(), llvm::LiveVariables::isLiveOut(), isLoadCombineCandidate(), isNonEqualPHIs(), isNonEscapingGlobalNoAliasWithLoad(), isObjectSizeLessThanOrEq(), isOnlyCopiedFromConstantMemory(), isPotentiallyReachable(), isReachableAmongDominated(), isReachableImpl(), llvm::isSafeToDestroyConstant(), isSafeToMove(), llvm::isSafeToMoveBefore(), IsScalarTBAANodeImpl(), isSignExtendedW(), isSignExtendedW(), isSimpleEnoughValueToCommit(), llvm::sandboxir::Type::isSized(), IsStoredObjCPointer(), isSuccOrder(), isUniformlyReached(), IsValueFullyAvailableInBlock(), iterativelySimplifyCFG(), llvm::SMSchedule::latestCycleInChain(), 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(), llvm::VPlanTransforms::narrowInterleaveGroups(), 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(), PHIsEqualValue(), llvm::PointerMayBeCaptured(), preparePlanForMainVectorLoop(), llvm::InstCombinerImpl::prepareWorklist(), llvm::AlignmentFromAssumptionsPass::processAssumption(), processBlockAddr(), processHeaderPhiOperands(), programUndefinedIfUndefOrPoison(), llvm::SwiftErrorValueTracking::propagateVRegs(), PushDefUseChildren(), llvm::InstCombinerImpl::pushFreezeToPreventPoisonFromPropagating(), PushLoopPHIs(), rebuildLoopAfterUnswitch(), recomputeLoopBlockSet(), recordConditions(), llvm::RecursivelyDeleteDeadPHINode(), recursivelyDeleteDeadRecipes(), recursivelyVisitUsers(), llvm::AssumptionCache::registerAssumption(), llvm::AMDGPU::removeFnAttrFromReachable(), llvm::SCCPSolver::removeNonFeasibleEdges(), llvm::objcopy::macho::Object::removeSections(), removeSwitchAfterSelectFold(), llvm::LiveRange::RenumberValues(), llvm::slpvectorizer::BoUpSLP::VLOperands::reorder(), llvm::slpvectorizer::BoUpSLP::reorderBottomToTop(), replaceAllUsesWith(), replaceLoopPHINodesWithPreheaderValues(), llvm::replaceSignedInst(), rewriteAccessChain(), llvm::SSAUpdaterBulk::RewriteAllUses(), rewriteDebugUsers(), rollbackRestoreSplit(), llvm::DropUnnecessaryAssumesPass::run(), llvm::MemDerefPrinterPass::run(), llvm::OpenMPOptPass::run(), runImpl(), runMoveAutoInit(), llvm::LoopVectorizationCostModel::setCostBasedWideningDecision(), llvm::DbgVariableIntrinsic::setKillLocation(), llvm::DbgVariableRecord::setKillLocation(), setLoopComponents(), llvm::AbstractDependenceGraphBuilder< GraphType >::simplify(), simplifyBlends(), 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(), llvm::splitBlockBefore(), SplitBlockImpl(), SRAGlobal(), stripDebugLocFromLoopID(), StripPointerGEPsAndCasts(), tryInterleave(), tryToElideArgumentCopy(), llvm::TryToSimplifyUncondBranchFromEmptyBlock(), llvm::InstCombinerImpl::tryToSinkInstructionDbgVariableRecords(), tryToSplitRestore(), unswitchAllTrivialConditions(), unswitchTrivialSwitch(), UpdateAnalysisInformation(), updateCallerBFI(), updateCGAndAnalysisManagerForPass(), updateForAIXShLibTLSModelOpt(), updateLiveness(), updatePredecessorProfileMetadata(), UpdateSSA(), llvm::UpgradeNVVMAnnotations(), usersDominator(), llvm::PeelingModuloScheduleExpander::validateAgainstModuloScheduleExpander(), ValidateMVEStore(), valueIsOnlyUsedLocallyOrStoredToOneGlobal(), llvm::ScalarEvolution::verify(), llvm::AssumptionCacheTracker::verifyAnalysis(), verifyCTRBranch(), llvm::GenericCycle< ContextT >::verifyCycle(), visit(), visit(), visitDomSubTree(), llvm::InstCombinerImpl::visitLandingPadInst(), llvm::InstCombinerImpl::visitPHINode(), visitPointers(), llvm::LazyCallGraph::visitReferences(), llvm::TBAAVerifier::visitTBAAMetadata(), and llvm::VirtRegAuxInfo::weightCalcHelper().

◆ insert() [4/4]

template<typename PtrType>
void llvm::SmallPtrSetImpl< PtrType >::insert ( std::initializer_list< PtrType > IL)
inline

Definition at line 486 of file SmallPtrSet.h.

◆ insert_range()

◆ remove_if()

template<typename PtrType>
template<typename UnaryPredicate>
bool llvm::SmallPtrSetImpl< PtrType >::remove_if ( UnaryPredicate P)
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. It is safe to read the set inside the predicate function. However, the predicate must not modify the set itself, only indicate a removal by returning true.

Definition at line 435 of file SmallPtrSet.h.

Referenced by llvm::InterleavedAccessInfo::invalidateGroupsRequiringScalarEpilogue(), and removeUnusedBlocksFromParent().

◆ SmallPtrSetImplBase() [1/3]

template<typename PtrType>
SmallPtrSetImplBase::SmallPtrSetImplBase ( const void ** SmallStorage,
const SmallPtrSetImplBase & that )
protected

Definition at line 75 of file SmallPtrSet.cpp.

◆ SmallPtrSetImplBase() [2/3]

template<typename PtrType>
llvm::SmallPtrSetImplBase::SmallPtrSetImplBase ( const void ** SmallStorage,
unsigned SmallSize )
inlineexplicitprotected

Definition at line 81 of file SmallPtrSet.h.

◆ SmallPtrSetImplBase() [3/3]

template<typename PtrType>
SmallPtrSetImplBase::SmallPtrSetImplBase ( const void ** SmallStorage,
unsigned SmallSize,
const void ** RHSSmallStorage,
SmallPtrSetImplBase && that )
protected

Definition at line 77 of file SmallPtrSet.cpp.

References llvm::SmallPtrSetImplBase::CurArraySize.


The documentation for this class was generated from the following file: