LLVM
13.0.0git
|
Base class for DenseSet and DenseSmallSet. More...
#include "llvm/ADT/DenseSet.h"
Classes | |
class | ConstIterator |
class | Iterator |
Public Types | |
using | key_type = ValueT |
using | value_type = ValueT |
using | size_type = unsigned |
using | iterator = Iterator |
using | const_iterator = ConstIterator |
Public Member Functions | |
DenseSetImpl (unsigned InitialReserve=0) | |
template<typename InputIt > | |
DenseSetImpl (const InputIt &I, const InputIt &E) | |
DenseSetImpl (std::initializer_list< ValueT > Elems) | |
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. More... | |
void | reserve (size_t Size) |
Grow the DenseSet so that it can contain at least NumEntries items before resizing again. More... | |
void | clear () |
size_type | count (const_arg_type_t< ValueT > V) const |
Return 1 if the specified key is in the set, 0 otherwise. More... | |
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. More... | |
template<class LookupKeyT > | |
iterator | find_as (const LookupKeyT &Val) |
Alternative version of find() which allows a different, and possibly less expensive, key type. More... | |
template<class LookupKeyT > | |
const_iterator | find_as (const LookupKeyT &Val) const |
void | erase (Iterator I) |
void | erase (ConstIterator CI) |
std::pair< iterator, bool > | insert (const ValueT &V) |
std::pair< iterator, bool > | insert (ValueT &&V) |
template<typename LookupKeyT > | |
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. More... | |
template<typename LookupKeyT > | |
std::pair< iterator, bool > | insert_as (ValueT &&V, const LookupKeyT &LookupKey) |
template<typename InputIt > | |
void | insert (InputIt I, InputIt E) |
Base class for DenseSet and DenseSmallSet.
MapTy should be either
DenseMap<ValueT, detail::DenseSetEmpty, ValueInfoT, detail::DenseSetPair<ValueT>>
or the equivalent SmallDenseMap type. ValueInfoT must implement the DenseMapInfo "concept".
Definition at line 54 of file DenseSet.h.
using llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::const_iterator = ConstIterator |
Definition at line 171 of file DenseSet.h.
using llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::iterator = Iterator |
Definition at line 170 of file DenseSet.h.
using llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::key_type = ValueT |
Definition at line 63 of file DenseSet.h.
using llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::size_type = unsigned |
Definition at line 65 of file DenseSet.h.
using llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::value_type = ValueT |
Definition at line 64 of file DenseSet.h.
|
inlineexplicit |
Definition at line 67 of file DenseSet.h.
|
inline |
Definition at line 70 of file DenseSet.h.
|
inline |
Definition at line 75 of file DenseSet.h.
|
inline |
Definition at line 173 of file DenseSet.h.
Referenced by llvm::jitlink::LinkGraph::absolute_symbols(), llvm::jitlink::Section::blocks(), llvm::ComputeCrossModuleImport(), llvm::MDBuilder::createFunctionEntryCount(), llvm::jitlink::LinkGraph::external_symbols(), and llvm::LegacyDivergenceAnalysis::print().
|
inline |
Definition at line 176 of file DenseSet.h.
|
inline |
Definition at line 92 of file DenseSet.h.
Referenced by checkNumberingAndReplace(), llvm::TypeFinder::clear(), and llvm::LegacyDivergenceAnalysis::runOnFunction().
|
inline |
Check if the set contains the given element.
Definition at line 185 of file DenseSet.h.
Referenced by checkNumberingAndReplace(), checkNumberingAndReplaceCommutative(), collectRegionsConstants(), findConstants(), findExtractedOutputToOverallOutputMapping(), llvm::DivergenceAnalysisImpl::isAlwaysUniform(), and llvm::DivergenceAnalysisImpl::isDivergent().
|
inline |
Return 1 if the specified key is in the set, 0 otherwise.
Definition at line 97 of file DenseSet.h.
Referenced by llvm::LiveVariables::addNewBlock(), checkVariableImport(), llvm::MustBeExecutedIterator::count(), llvm::ModuleSummaryIndex::exportToDot(), getPostIncrementOperand(), llvm::LegacyDivergenceAnalysis::isDivergent(), llvm::LegacyDivergenceAnalysis::isDivergentUse(), llvm::jitlink::LinkGraph::makeExternal(), llvm::detail::operator==(), llvm::ModuleSummaryIndex::propagateAttributes(), llvm::jitlink::prune(), llvm::BitTracker::reached(), relocationViaAlloca(), llvm::jitlink::LinkGraph::removeAbsoluteSymbol(), llvm::jitlink::LinkGraph::removeExternalSymbol(), thinLTOResolvePrevailingGUID(), llvm::updateVCallVisibilityInIndex(), and llvm::updateVCallVisibilityInModule().
|
inline |
Definition at line 80 of file DenseSet.h.
Referenced by checkNumberingAndReplaceCommutative(), llvm::computeDeadSymbols(), llvm::DivergenceAnalysisImpl::hasDetectedDivergence(), llvm::ThinLTOCodeGenerator::internalize(), llvm::LegacyDivergenceAnalysis::print(), and llvm::orc::SymbolsCouldNotBeRemoved::SymbolsCouldNotBeRemoved().
|
inline |
Definition at line 174 of file DenseSet.h.
Referenced by llvm::jitlink::LinkGraph::absolute_symbols(), llvm::jitlink::Section::blocks(), llvm::ComputeCrossModuleImport(), llvm::MDBuilder::createFunctionEntryCount(), llvm::jitlink::LinkGraph::external_symbols(), llvm::DeclContextTree::getChildDeclContext(), llvm::jitlink::LinkGraph::removeAbsoluteSymbol(), and llvm::jitlink::LinkGraph::removeExternalSymbol().
|
inline |
Definition at line 177 of file DenseSet.h.
|
inline |
Definition at line 101 of file DenseSet.h.
Referenced by alignOutputBlockWithAggFunc(), llvm::ComputeCrossModuleImport(), llvm::jitlink::LinkGraph::makeExternal(), llvm::jitlink::LinkGraph::removeAbsoluteSymbol(), llvm::jitlink::LinkGraph::removeExternalSymbol(), and llvm::LegacyDivergenceAnalysis::removeValue().
|
inline |
Definition at line 204 of file DenseSet.h.
|
inline |
Definition at line 203 of file DenseSet.h.
|
inline |
Definition at line 179 of file DenseSet.h.
Referenced by llvm::DeclContextTree::getChildDeclContext().
|
inline |
Definition at line 180 of file DenseSet.h.
|
inline |
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 195 of file DenseSet.h.
|
inline |
Definition at line 199 of file DenseSet.h.
|
inline |
Definition at line 82 of file DenseSet.h.
|
inline |
Definition at line 206 of file DenseSet.h.
Referenced by llvm::jitlink::LinkGraph::addAbsoluteSymbol(), llvm::jitlink::LinkGraph::addExternalSymbol(), llvm::LiveVariables::addNewBlock(), llvm::DivergenceAnalysisImpl::addUniformOverride(), llvm::sampleprof::SampleProfileReaderItaniumRemapper::applyRemapping(), llvm::buildModuleSummaryIndex(), checkNumberingAndReplace(), checkNumberingAndReplaceCommutative(), checkVariableImport(), collectRegionsConstants(), llvm::IRSimilarity::IRSimilarityCandidate::compareCommutativeOperandMapping(), computeAliasSummary(), llvm::ComputeCrossModuleImport(), computeFunctionSummary(), llvm::JumpThreadingPass::computeValueKnownInPredecessorsImpl(), computeVariableSummary(), llvm::detail::DenseSetImpl< ConstantStruct *, DenseMap< ConstantStruct *, detail::DenseSetEmpty, MapInfo, detail::DenseSetPair< ConstantStruct * > >, MapInfo >::DenseSetImpl(), findConstants(), findExtractedOutputToOverallOutputMapping(), llvm::DWARFDebugAranges::generate(), getBaseType(), llvm::DeclContextTree::getChildDeclContext(), getCHRConditionValuesForRegion(), getPostIncrementOperand(), llvm::detail::DenseSetImpl< ConstantStruct *, DenseMap< ConstantStruct *, detail::DenseSetEmpty, MapInfo, detail::DenseSetPair< ConstantStruct * > >, MapInfo >::insert(), insertRelocationStores(), insertRematerializationStores(), llvm::jitlink::LinkGraph::makeExternal(), llvm::DivergenceAnalysisImpl::markDivergent(), llvm::jitlink::prune(), recomputeLiveInValues(), llvm::ThinLTOCodeGenerator::run(), llvm::lto::LTO::run(), and llvm::UniqueStringSaver::save().
|
inline |
Definition at line 230 of file DenseSet.h.
|
inline |
Definition at line 211 of file DenseSet.h.
|
inline |
Alternative version of insert that uses a different (and possibly less expensive) key type.
Definition at line 219 of file DenseSet.h.
Referenced by llvm::FunctionType::get(), and llvm::StructType::get().
|
inline |
Definition at line 224 of file DenseSet.h.
|
inline |
Grow the DenseSet so that it can contain at least NumEntries
items before resizing again.
Definition at line 90 of file DenseSet.h.
|
inline |
Grow the DenseSet so that it has at least Size buckets.
Will not shrink the Size of the set.
Definition at line 86 of file DenseSet.h.
|
inline |
Definition at line 81 of file DenseSet.h.
Referenced by alignOutputBlockWithAggFunc(), checkNumberingAndReplace(), checkNumberingAndReplaceCommutative(), llvm::SampleProfileLoaderBaseImpl< BT >::computeAndPropagateWeights(), llvm::computeDeadSymbols(), llvm::computeLTOCacheKey(), createSwitchStatement(), findCostForOutputBlocks(), llvm::detail::operator==(), replaceCalledFunction(), and llvm::orc::SymbolLookupSet::SymbolLookupSet().
|
inline |
Definition at line 105 of file DenseSet.h.