LLVM API Documentation

Public Types | Public Member Functions | Protected Member Functions
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 <SmallPtrSet.h>

Inheritance diagram for llvm::SmallPtrSetImpl< PtrType >:
Inheritance graph
[legend]
Collaboration diagram for llvm::SmallPtrSetImpl< PtrType >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef SmallPtrSetIterator
< PtrType > 
iterator
typedef SmallPtrSetIterator
< PtrType > 
const_iterator

Public Member Functions

std::pair< iterator, boolinsert (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)

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


Member Typedef Documentation

template<typename PtrType>
typedef SmallPtrSetIterator<PtrType> llvm::SmallPtrSetImpl< PtrType >::const_iterator

Definition at line 258 of file SmallPtrSet.h.

template<typename PtrType>
typedef SmallPtrSetIterator<PtrType> llvm::SmallPtrSetImpl< PtrType >::iterator

Definition at line 257 of file SmallPtrSet.h.


Constructor & Destructor Documentation

template<typename PtrType>
llvm::SmallPtrSetImpl< PtrType >::SmallPtrSetImpl ( const void **  SmallStorage,
const SmallPtrSetImpl< PtrType > &  that 
) [inline, protected]

Definition at line 248 of file SmallPtrSet.h.

template<typename PtrType>
llvm::SmallPtrSetImpl< PtrType >::SmallPtrSetImpl ( const void **  SmallStorage,
unsigned  SmallSize,
SmallPtrSetImpl< PtrType > &&  that 
) [inline, protected]

Definition at line 250 of file SmallPtrSet.h.

template<typename PtrType>
llvm::SmallPtrSetImpl< PtrType >::SmallPtrSetImpl ( const void **  SmallStorage,
unsigned  SmallSize 
) [inline, explicit, protected]

Definition at line 253 of file SmallPtrSet.h.


Member Function Documentation

template<typename PtrType>
iterator llvm::SmallPtrSetImpl< PtrType >::begin ( ) const [inline]
template<typename PtrType>
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 276 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().

template<typename PtrType>
iterator llvm::SmallPtrSetImpl< PtrType >::end ( ) const [inline]
template<typename PtrType>
bool llvm::SmallPtrSetImpl< PtrType >::erase ( PtrType  Ptr) [inline]
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 264 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(), llvm::DwarfCompileUnit::constructSubprogramScopeDIE(), 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(), extendSegmentsToUses(), 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< GenericMDNode * >::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(), LoadUsesSimpleEnoughForHeapSRA(), llvm::LoopBase< BasicBlock, Loop >::LoopBase(), markAliveBlocks(), MarkBlocksLiveIn(), llvm::LiveRangeEdit::markRematerialized(), llvm::SelectionDAG::MorphNodeTo(), PeepholePPC64ZExtGather(), PHIsEqualValue(), llvm::PreservedAnalyses::preserve(), printNodes(), pushIVUsers(), llvm::RecursivelyDeleteDeadPHINode(), llvm::SchedBoundary::releaseNode(), llvm::LiveRangeEdit::rematerializeAt(), llvm::LazyCallGraph::SCC::removeIntraSCCEdge(), llvm::LiveRange::RenumberValues(), llvm::LazyCallGraphPrinterPass::run(), simplifyOneLoop(), llvm::InstCombiner::SliceUpIllegalIntegerPHI(), llvm::SmallPtrSet< const MDNode *, 16 >::SmallPtrSet(), sortOpts(), llvm::MDNode::storeDistinctInContext(), llvm::Value::stripAndAccumulateInBoundsConstantOffsets(), stripAndComputeConstantOffsets(), llvm::IVStrideUse::transformToPostInc(), ValueIsOnlyUsedLocallyOrStoredToOneGlobal(), llvm::LoopBase< BlockT, LoopT >::verifyLoop(), llvm::InstCombiner::visitLandingPadInst(), and llvm::InstCombiner::visitPHINode().

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

Definition at line 281 of file SmallPtrSet.h.


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