LLVM: llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT (original) (raw)
Base class for DenseSet and DenseSmallSet. More...
#include "[llvm/ADT/DenseSet.h](DenseSet%5F8h%5Fsource.html)"
| Public Types | |
|---|---|
| using | key_type = ValueT |
| using | value_type = ValueT |
| using | size_type = unsigned |
| using | iterator = DenseSetIterator |
| using | const_iterator = DenseSetIterator |
| Public Member Functions | |
|---|---|
| DenseSetImpl (unsigned InitialReserve=0) | |
| template | |
| DenseSetImpl (const InputIt &I, const InputIt &E) | |
| DenseSetImpl (std::initializer_list< ValueT > Elems) | |
| template<typename Range> | |
| DenseSetImpl (llvm::from_range_t, Range &&R) | |
| bool | empty () const |
| size_type | size () const |
| size_t | getMemorySize () const |
| void | resize (size_t Size) |
| Grow the DenseSet so that it has at least Size buckets. | |
| void | reserve (size_t Size) |
| Grow the DenseSet so that it can contain at least NumEntries items before resizing again. | |
| void | clear () |
| bool | erase (const ValueT &V) |
| void | swap (DenseSetImpl &RHS) |
| iterator | begin () |
| iterator | end () |
| const_iterator | begin () const |
| const_iterator | end () const |
| iterator | find (const_arg_type_t< ValueT > V) |
| const_iterator | find (const_arg_type_t< ValueT > V) const |
| bool | contains (const_arg_type_t< ValueT > V) const |
| Check if the set contains the given element. | |
| size_type | count (const_arg_type_t< ValueT > V) const |
| Return 1 if the specified key is in the set, 0 otherwise. | |
| template | |
| iterator | find_as (const LookupKeyT &Val) |
| Alternative version of find() which allows a different, and possibly less expensive, key type. | |
| template | |
| const_iterator | find_as (const LookupKeyT &Val) const |
| void | erase (iterator I) |
| void | erase (const_iterator CI) |
| std::pair< iterator, bool > | insert (const ValueT &V) |
| std::pair< iterator, bool > | insert (ValueT &&V) |
| template | |
| std::pair< iterator, bool > | insert_as (const ValueT &V, const LookupKeyT &LookupKey) |
| Alternative version of insert that uses a different (and possibly less expensive) key type. | |
| template | |
| std::pair< iterator, bool > | insert_as (ValueT &&V, const LookupKeyT &LookupKey) |
| template | |
| void | insert (InputIt I, InputIt E) |
| template<typename Range> | |
| void | insert_range (Range &&R) |
template<typename ValueT, typename MapTy, typename ValueInfoT>
class llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >
Base class for DenseSet and DenseSmallSet.
MapTy should be either
DenseMap<ValueT, detail::DenseSetEmpty, ValueInfoT, detail::DenseSetPair>
or the equivalent SmallDenseMap type. ValueInfoT must implement the DenseMapInfo "concept".
Definition at line 56 of file DenseSet.h.
◆ const_iterator
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ iterator
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ key_type
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ size_type
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ value_type
template<typename ValueT, typename MapTy, typename ValueInfoT>
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ DenseSetImpl() [2/4]
template<typename ValueT, typename MapTy, typename ValueInfoT>
template
◆ DenseSetImpl() [3/4]
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ DenseSetImpl() [4/4]
template<typename ValueT, typename MapTy, typename ValueInfoT>
template<typename Range>
◆ begin() [1/2]
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ begin() [2/2]
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ clear()
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ contains()
template<typename ValueT, typename MapTy, typename ValueInfoT>
Check if the set contains the given element.
Definition at line 175 of file DenseSet.h.
Referenced by llvm::orc::addFunctionPointerRelocationsToCurrentSymbol(), llvm::lto::Config::addSaveTemps(), llvm::DbgValueRangeTable::addVariable(), analyzeExitPHIsForOutputUses(), buildOverlapMapAndRecordDeclares(), llvm::DroppedVariableStats::calculateDroppedStatsAndPrint(), checkNumberingAndReplace(), checkNumberingAndReplaceCommutative(), llvm::IRSimilarity::IRSimilarityCandidate::checkRelativeLocations(), llvm::collectEphemeralRecipesForVPlan(), collectRegionsConstants(), llvm::computeLTOCacheKey(), slpvectorizer::BoUpSLP::computeMinimumValueSizes(), llvm::SelectionDAG::copyExtraInfo(), llvm::IRSimilarity::IRSimilarityCandidate::createCanonicalRelationFrom(), llvm::VETargetLowering::emitSjLjDispatchBlock(), findConstants(), findCostForOutputBlocks(), findExtractedOutputToOverallOutputMapping(), findOrCreatePHIInBlock(), getBranchInsertPoint(), getFormForIdxParent(), getGVNForPHINode(), DOTGraphTraits< const CallsiteContextGraph< DerivedCCG, FuncTy, CallTy > * >::getNodeAttributes(), llvm::AMDGPU::getTransitiveUsesOfLDS(), slpvectorizer::BoUpSLP::getTreeCost(), llvm::DIExpression::hasAllLocationOps(), llvm::FunctionImporter::importFunctions(), slpvectorizer::BoUpSLP::isAnyGathered(), isDataTypeToken(), processLoadCommands(), propagateAttributesToRefs(), llvm::PHINode::removeIncomingValueIf(), llvm::objcopy::coff::Object::removeSections(), removeUndefDbgAssignsFromEntryBlock(), slpvectorizer::BoUpSLP::reorderBottomToTop(), replaceTargetsFromPHINode(), llvm::InstructionSelect::selectMachineFunction(), llvm::OutlinableRegion::splitCandidate(), slpvectorizer::BoUpSLP::vectorizeTree(), and willGenerateVectors().
◆ count()
template<typename ValueT, typename MapTy, typename ValueInfoT>
Return 1 if the specified key is in the set, 0 otherwise.
Definition at line 180 of file DenseSet.h.
Referenced by llvm::LiveVariables::addNewBlock(), llvm::ModuloScheduleExpanderMVE::canApply(), canProveExitOnFirstIteration(), checkHoistValue(), checkVariableImport(), collectBlocksReachableByDirty(), computeFunctionSummary(), llvm::MCPseudoProbeDecoder::countRecords(), llvm::orc::StaticLibraryDefinitionGenerator::Create(), llvm::ModuleSummaryIndex::exportToDot(), llvm::orc::JITDylib::getDFSLinkOrder(), getInstrBB(), getPostIncrementOperand(), handleArgs(), hasDirtyPred(), hoistValue(), llvm::SIInstrInfo::legalizeOperandsVOP3(), processLoadCommands(), llvm::ModuleSummaryIndex::propagateAttributes(), llvm::sampleprof::SampleProfileReaderExtBinaryBase::readFuncProfiles(), relocationViaAlloca(), slpvectorizer::BoUpSLP::reorderBottomToTop(), sortLocalVars(), llvm::thinLTOFinalizeInModule(), thinLTOResolvePrevailingGUID(), llvm::updateVCallVisibilityInIndex(), llvm::updateVCallVisibilityInModule(), slpvectorizer::BoUpSLP::vectorizeTree(), and VisitGlobalVariableForEmission().
◆ empty()
template<typename ValueT, typename MapTy, typename ValueInfoT>
Definition at line 86 of file DenseSet.h.
Referenced by addAssumptionsImpl(), llvm::lto::Config::addSaveTemps(), CheckLargerCands(), checkNumberingAndReplaceCommutative(), TransferTracker::clobberMloc(), llvm::computeDeadSymbolsAndUpdateIndirectCalls(), llvm::computeEHOnlyBlocks(), llvm::MCPseudoProbeDecoder::countRecords(), llvm::ThinLTOCodeGenerator::internalize(), llvm::orc::BlockFreqQuery::operator()(), ProcessThinLTOModule(), llvm::PHINode::removeIncomingValueIf(), llvm::objcopy::coff::Object::removeSections(), RemoveLoadsIntoFakeUses::run(), shouldSplit(), llvm::orc::SymbolsCouldNotBeRemoved::SymbolsCouldNotBeRemoved(), llvm::orc::SymbolsNotFound::SymbolsNotFound(), llvm::thinLTOFinalizeInModule(), llvm::orc::EPCDynamicLibrarySearchGenerator::tryToGenerate(), and llvm::orc::ExecutorResolutionGenerator::tryToGenerate().
◆ end() [1/2]
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ end() [2/2]
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ erase() [1/3]
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ erase() [2/3]
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ erase() [3/3]
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ find() [1/2]
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ find() [2/2]
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ find_as() [1/2]
template<typename ValueT, typename MapTy, typename ValueInfoT>
template
Alternative version of find() which allows a different, and possibly less expensive, key type.
The DenseMapInfo is responsible for supplying methods getHashValue(LookupKeyT) and isEqual(LookupKeyT, KeyT) for each key type used.
Definition at line 190 of file DenseSet.h.
◆ find_as() [2/2]
template<typename ValueT, typename MapTy, typename ValueInfoT>
template
◆ getMemorySize()
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ insert() [1/3]
template<typename ValueT, typename MapTy, typename ValueInfoT>
Definition at line 202 of file DenseSet.h.
Referenced by addDefsUsesToList(), addDefsUsesToList(), llvm::orc::addFunctionPointerRelocationsToCurrentSymbol(), llvm::LiveVariables::addNewBlock(), addUsedSymbolToPreservedGUID(), llvm::DbgValueRangeTable::addVariable(), analyzeExitPHIsForOutputUses(), analyzeLoopUnrollCost(), llvm::DwarfDebug::beginModule(), llvm::buildModuleSummaryIndex(), buildOverlapMapAndRecordDeclares(), llvm::ModuloScheduleExpanderMVE::canApply(), canProveExitOnFirstIteration(), checkClobberSanity(), checkHoistValue(), CheckLargerCands(), checkNumberingAndReplace(), checkNumberingAndReplaceCommutative(), checkVariableImport(), TransferTracker::clobberMloc(), llvm::collectEphemeralRecipesForVPlan(), collectRegionsConstants(), llvm::IRSimilarity::IRSimilarityCandidate::compareCommutativeOperandMapping(), computeAliasSummary(), llvm::computeEHOnlyBlocks(), computeFunctionSummary(), computeGUIDPreservedSymbols(), computeVariableSummary(), llvm::SelectionDAG::copyExtraInfo(), costShuffleViaSplitting(), costShuffleViaVRegSplitting(), llvm::orc::StaticLibraryDefinitionGenerator::Create(), llvm::IRSimilarity::IRSimilarityCandidate::createCanonicalRelationFrom(), llvm::deleteDeadLoop(), llvm::detail::DenseSetImpl< ValueT, DenseMap< ValueT, DenseSetEmpty, ValueInfoT, DenseSetPair< ValueT > >, ValueInfoT >< ValueT, ValueInfoT >::DenseSetImpl(), llvm::detail::DenseSetImpl< ValueT, DenseMap< ValueT, DenseSetEmpty, ValueInfoT, DenseSetPair< ValueT > >, ValueInfoT >< ValueT, ValueInfoT >::DenseSetImpl(), EliminateDuplicatePHINodesSetBasedImpl(), llvm::WebAssemblyAsmPrinter::emitDecls(), llvm::VETargetLowering::emitSjLjDispatchBlock(), llvm::DwarfDebug::endFunctionImpl(), llvm::sampleprof::FunctionSamples::findAllNames(), findBaseObject(), llvm::orc::SpeculateQuery::findCalles(), findConstants(), findCostForOutputBlocks(), findExtractedOutputToOverallOutputMapping(), llvm::sampleprof::FunctionSamples::findInlinedFunctions(), findOrCreatePHIInBlock(), getBaseType(), llvm::IRSimilarity::IRSimilarityCandidate::getBasicBlocks(), llvm::IRSimilarity::IRSimilarityCandidate::getBasicBlocks(), getBranchInsertPoint(), getCHRConditionValuesForRegion(), llvm::orc::JITDylib::getDFSLinkOrder(), getPostIncrementOperand(), getRegsUsedByPHIs(), slpvectorizer::BoUpSLP::getSpillCost(), llvm::AMDGPU::getTransitiveUsesOfLDS(), slpvectorizer::BoUpSLP::getTreeCost(), llvm::getVisibleToRegularObjVtableGUIDs(), getWaitStatesSince(), handleArgs(), llvm::DIExpression::hasAllLocationOps(), hasDuplicates(), hoistValue(), llvm::detail::DenseSetImpl< ValueT, DenseMap< ValueT, DenseSetEmpty, ValueInfoT, DenseSetPair< ValueT > >, ValueInfoT >< ValueT, ValueInfoT >::insert(), llvm::detail::DenseSetImpl< ValueT, DenseMap< ValueT, DenseSetEmpty, ValueInfoT, DenseSetPair< ValueT > >, ValueInfoT >< ValueT, ValueInfoT >::insert_range(), insertRelocationStores(), insertRematerializationStores(), insertTrivialPHIs(), llvm::SIInstrInfo::isOperandLegal(), isSaveReachableThroughClean(), llvm::SIInstrInfo::legalizeOperandsVOP3(), LLVMOrcMaterializationResponsibilityDelegate(), lowerBuildVectorViaDominantValues(), markAllReachable(), OptimizeNonTrivialIFuncs(), planContainsAdditionalSimplifications(), llvm::DroppedVariableStats::populateVarIDSetAndInlinedMap(), processLoadCommands(), propagateAttributesToRefs(), llvm::sampleprof::SampleProfileReader::read(), llvm::sampleprof::SampleProfileReaderExtBinaryBase::readFuncProfiles(), reduceDbgValsBackwardScan(), remapIndices(), llvm::PHINode::removeIncomingValueIf(), slpvectorizer::BoUpSLP::removeInstructionsAndOperands(), removeRedundantDbgInstrsUsingBackwardScan(), llvm::objcopy::coff::Object::removeSections(), removeUndefDbgAssignsFromEntryBlock(), slpvectorizer::BoUpSLP::reorderBottomToTop(), llvm::CtxProfAnalysis::run(), llvm::lto::LTO::run(), RemoveLoadsIntoFakeUses::run(), scanInlinedCode(), scanOneBB(), searchPredecessors(), llvm::InstructionSelect::selectMachineFunction(), sortLocalVars(), stripDeadDebugInfoImpl(), llvm::thinLTOFinalizeInModule(), llvm::thinLTOResolvePrevailingInIndex(), LLVMOrcLazyCallThroughManagerRef::toSymbolDependenceMap(), llvm::orc::EPCDynamicLibrarySearchGenerator::tryToGenerate(), llvm::orc::ExecutorResolutionGenerator::tryToGenerate(), undefInvalidDbgValues(), llvm::InstrProfWriter::validateRecord(), llvm::cas::ObjectStore::validateTree(), slpvectorizer::BoUpSLP::vectorizeTree(), llvm::GenericCycle< ContextT >::verifyCycle(), llvm::GenericCycleInfo< ContextT >::verifyCycleNest(), VisitGlobalVariableForEmission(), and willGenerateVectors().
◆ insert() [2/3]
template<typename ValueT, typename MapTy, typename ValueInfoT>
template
◆ insert() [3/3]
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ insert_as() [1/2]
template<typename ValueT, typename MapTy, typename ValueInfoT>
template
Alternative version of insert that uses a different (and possibly less expensive) key type.
Definition at line 213 of file DenseSet.h.
◆ insert_as() [2/2]
template<typename ValueT, typename MapTy, typename ValueInfoT>
template
◆ insert_range()
template<typename ValueT, typename MapTy, typename ValueInfoT>
template<typename Range>
◆ reserve()
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ resize()
template<typename ValueT, typename MapTy, typename ValueInfoT>
Grow the DenseSet so that it has at least Size buckets.
Will not shrink the Size of the set.
Definition at line 92 of file DenseSet.h.
◆ size()
template<typename ValueT, typename MapTy, typename ValueInfoT>
◆ swap()
template<typename ValueT, typename MapTy, typename ValueInfoT>
The documentation for this class was generated from the following file:
- include/llvm/ADT/DenseSet.h