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

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)

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


Member Typedef Documentation

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

Definition at line 280 of file SmallPtrSet.h.

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

Definition at line 279 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 247 of file SmallPtrSet.h.

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

Definition at line 249 of file SmallPtrSet.h.

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

Definition at line 252 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 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().

template<typename PtrType>
iterator llvm::SmallPtrSetImpl< PtrType >::end ( ) const [inline]
template<typename PtrType>
bool llvm::SmallPtrSetImpl< PtrType >::erase ( PtrType  Ptr) [inline]
template<typename PtrType>
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().

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

Definition at line 274 of file SmallPtrSet.h.


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