LLVM  8.0.1
Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT > Class Template Reference

#include "llvm/ADT/DenseMap.h"

Inherits llvm::DebugEpochBase.

Collaboration diagram for llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >:
Collaboration graph
[legend]

Public Types

using size_type = unsigned
 
using key_type = KeyT
 
using mapped_type = ValueT
 
using value_type = BucketT
 
using iterator = DenseMapIterator< KeyT, ValueT, KeyInfoT, BucketT >
 
using const_iterator = DenseMapIterator< KeyT, ValueT, KeyInfoT, BucketT, true >
 

Public Member Functions

iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
LLVM_NODISCARD bool empty () const
 
unsigned size () const
 
void reserve (size_type NumEntries)
 Grow the densemap so that it can contain at least NumEntries items before resizing again. More...
 
void clear ()
 
size_type count (const_arg_type_t< KeyT > Val) const
 Return 1 if the specified key is in the map, 0 otherwise. More...
 
iterator find (const_arg_type_t< KeyT > Val)
 
const_iterator find (const_arg_type_t< KeyT > Val) const
 
template<class LookupKeyT >
iterator find_as (const LookupKeyT &Val)
 Alternate 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
 
ValueT lookup (const_arg_type_t< KeyT > Val) const
 lookup - Return the entry for the specified key, or a default constructed value if no such entry exists. More...
 
std::pair< iterator, boolinsert (const std::pair< KeyT, ValueT > &KV)
 
std::pair< iterator, boolinsert (std::pair< KeyT, ValueT > &&KV)
 
template<typename... Ts>
std::pair< iterator, booltry_emplace (KeyT &&Key, Ts &&... Args)
 
template<typename... Ts>
std::pair< iterator, booltry_emplace (const KeyT &Key, Ts &&... Args)
 
template<typename LookupKeyT >
std::pair< iterator, boolinsert_as (std::pair< KeyT, ValueT > &&KV, const LookupKeyT &Val)
 Alternate version of insert() which allows a different, and possibly less expensive, key type. More...
 
template<typename InputIt >
void insert (InputIt I, InputIt E)
 insert - Range insertion of pairs. More...
 
bool erase (const KeyT &Val)
 
void erase (iterator I)
 
value_typeFindAndConstruct (const KeyT &Key)
 
ValueToperator[] (const KeyT &Key)
 
value_typeFindAndConstruct (KeyT &&Key)
 
ValueToperator[] (KeyT &&Key)
 
bool isPointerIntoBucketsArray (const void *Ptr) const
 isPointerIntoBucketsArray - Return true if the specified pointer points somewhere into the DenseMap's array of buckets (i.e. More...
 
const void * getPointerIntoBucketsArray () const
 getPointerIntoBucketsArray() - Return an opaque pointer into the buckets array. More...
 
size_t getMemorySize () const
 Return the approximate size (in bytes) of the actual map. More...
 
- Public Member Functions inherited from llvm::DebugEpochBase
 DebugEpochBase ()
 
void incrementEpoch ()
 Calling incrementEpoch invalidates all handles pointing into the calling instance. More...
 
 ~DebugEpochBase ()
 The destructor calls incrementEpoch to make use-after-free bugs more likely to crash deterministically. More...
 

Protected Member Functions

 DenseMapBase ()=default
 
void destroyAll ()
 
void initEmpty ()
 
unsigned getMinBucketToReserveForEntries (unsigned NumEntries)
 Returns the number of buckets to allocate to ensure that the DenseMap can accommodate NumEntries without need to grow(). More...
 
void moveFromOldBuckets (BucketT *OldBucketsBegin, BucketT *OldBucketsEnd)
 
template<typename OtherBaseT >
void copyFrom (const DenseMapBase< OtherBaseT, KeyT, ValueT, KeyInfoT, BucketT > &other)
 

Static Protected Member Functions

static unsigned getHashValue (const KeyT &Val)
 
template<typename LookupKeyT >
static unsigned getHashValue (const LookupKeyT &Val)
 
static const KeyT getEmptyKey ()
 
static const KeyT getTombstoneKey ()
 

Detailed Description

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
class llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >

Definition at line 86 of file DenseMap.h.

Member Typedef Documentation

◆ const_iterator

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
using llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::const_iterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT, true>

Definition at line 98 of file DenseMap.h.

◆ iterator

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
using llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::iterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT>

Definition at line 96 of file DenseMap.h.

◆ key_type

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
using llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::key_type = KeyT

Definition at line 92 of file DenseMap.h.

◆ mapped_type

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
using llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::mapped_type = ValueT

Definition at line 93 of file DenseMap.h.

◆ size_type

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
using llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::size_type = unsigned

Definition at line 91 of file DenseMap.h.

◆ value_type

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
using llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::value_type = BucketT

Definition at line 94 of file DenseMap.h.

Constructor & Destructor Documentation

◆ DenseMapBase()

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::DenseMapBase ( )
protecteddefault

Member Function Documentation

◆ begin() [1/2]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
iterator llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::begin ( )
inline

◆ begin() [2/2]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
const_iterator llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::begin ( ) const
inline

Definition at line 112 of file DenseMap.h.

◆ clear()

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
void llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::clear ( )
inline

◆ copyFrom()

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
template<typename OtherBaseT >
void llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::copyFrom ( const DenseMapBase< OtherBaseT, KeyT, ValueT, KeyInfoT, BucketT > &  other)
inlineprotected

Definition at line 417 of file DenseMap.h.

◆ count()

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
size_type llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::count ( const_arg_type_t< KeyT >  Val) const
inline

Return 1 if the specified key is in the map, 0 otherwise.

Definition at line 171 of file DenseMap.h.

Referenced by llvm::orc::MaterializationResponsibility::addDependencies(), llvm::pdb::PDBFileBuilder::addNamedStream(), llvm::VPlan::addVPValue(), llvm::HexagonSubtarget::CallMutation::apply(), llvm::DFAPacketizer::canReserveResources(), computeImportForFunction(), computeImportForReferencedGlobals(), llvm::EHStreamer::computePadMap(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::count(), llvm::DFAPacketizer::DFAPacketizer(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::InOutEdgeView< isConst, isOut >::empty(), findArgumentCopyElisionCandidates(), llvm::LoopBlocksTraversal::finishPostorder(), llvm::orc::AbsoluteSymbolsMaterializationUnit::getName(), llvm::orc::ReExportsMaterializationUnit::getName(), getUnwindDestToken(), getUnwindDestTokenHelper(), llvm::VPlan::getVPValue(), HandleInlinedEHPad(), llvm::SlotIndexes::hasIndex(), llvm::LoopBlocksDFS::hasPreorder(), llvm::MachineSSAUpdater::HasValueForBlock(), llvm::SSAUpdater::HasValueForBlock(), llvm::HexagonCVIResource::HexagonCVIResource(), llvm::FunctionLoweringInfo::isExportedInst(), llvm::ARMBaseInstrInfo::isFpMLxInstruction(), llvm::orc::JITDylib::lookupFlags(), MergeAliasResults(), llvm::PPCRegisterInfo::needsFrameBaseReg(), llvm::orc::ReexportsGenerator::operator()(), llvm::MemoryDependenceResults::removeInstruction(), llvm::scc_iterator< GraphT, GT >::ReplaceNode(), llvm::HexagonMCChecker::reportBranchErrors(), llvm::DFAPacketizer::reserveResources(), selectIncomingValueForBlock(), llvm::BlockFrequencyInfoImpl< llvm::BitTracker >::setBlockFreq(), and tryToElideArgumentCopy().

◆ destroyAll()

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
void llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::destroyAll ( )
inlineprotected

Definition at line 356 of file DenseMap.h.

◆ empty()

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
LLVM_NODISCARD bool llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::empty ( ) const
inline

◆ end() [1/2]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
iterator llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end ( )
inline

Definition at line 109 of file DenseMap.h.

Referenced by llvm::BasicAAResult::alias(), llvm::ValueMapCallbackVH< KeyT, ValueT, Config >::allUsesReplacedWith(), llvm::AssumptionCache::assumptionsFor(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::at(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::InOutEdgeView< isConst, isOut >::begin(), llvm::BlotMapVector< KeyT, ValueT >::blot(), callsiteIsHot(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::InOutEdgeView< isConst, isOut >::cbegin(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::InOutEdgeView< isConst, isOut >::cend(), llvm::LoopVectorizationCostModel::collectInstsToScalarize(), llvm::ObjectSizeOffsetEvaluator::compute(), llvm::EHStreamer::computeCallSiteTable(), llvm::StackProtector::copyToMachineFrameInfo(), llvm::ValueMap< const Function *, FuncInfo >::count(), llvm::orc::MaterializationResponsibility::delegate(), encodeBase64StringEntry(), llvm::json::Object::end(), llvm::ValueMap< const Function *, FuncInfo >::end(), llvm::FunctionLoweringInfo::StatepointSpillMap::end(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::InOutEdgeView< isConst, isOut >::end(), llvm::ValueMap< const Function *, FuncInfo >::erase(), llvm::opt::ArgList::eraseArg(), llvm::BlotMapVector< KeyT, ValueT >::find(), findStartOfTree(), llvm::ARMAsmBackendDarwin::generateCompactUnwindEncoding(), llvm::ValueEnumerator::getAttributeGroupID(), llvm::ValueEnumerator::getAttributeListID(), llvm::MCRegisterInfo::getCodeViewRegNum(), llvm::SparseSolver< LatticeKey, LatticeVal, KeyInfo >::getExistingValueState(), llvm::GCModuleInfo::getFunctionInfo(), llvm::SlotIndexes::getIndexAfter(), llvm::SlotIndexes::getIndexBefore(), llvm::ValueEnumerator::getInstructionID(), llvm::SlotIndexes::getInstructionIndex(), getMappedReg(), llvm::orc::LazyReexportsMaterializationUnit::getName(), llvm::orc::ReExportsMaterializationUnit::getName(), llvm::cflaa::CFLGraph::getNode(), llvm::cflaa::CFLGraph::ValueInfo::getNumLevels(), llvm::ARMFunctionInfo::getOriginalCPIdx(), llvm::PassRegistry::getPassInfo(), llvm::LoopBlocksDFS::getPostorder(), llvm::SCEVUnionPredicate::getPredicatesForExpr(), getRegsUsedByPHIs(), getSCCNum(), llvm::SDDbgInfo::getSDDbgValues(), llvm::MCRegisterInfo::getSEHRegNum(), llvm::R600InstrInfo::getSrcs(), llvm::ValueEnumerator::getTypeID(), getUnwindDestToken(), getUnwindDestTokenHelper(), llvm::NVPTXAsmPrinter::getVirtualRegisterName(), llvm::LoopBlocksDFS::hasPostorder(), llvm::SCEVUnionPredicate::implies(), llvm::SlotIndexes::insertMachineInstrInMaps(), llvm::FunctionLoweringInfo::InvalidatePHILiveOutRegInfo(), llvm::isAllocaPromotable(), llvm::AsmPrinter::isBlockOnlyReachableByFallthrough(), isEqual(), isOperandKill(), llvm::Value::isSwiftError(), llvm::orc::JITDylib::legacyLookup(), loadObj(), llvm::ValueMap< const Function *, FuncInfo >::lookup(), llvm::orc::JITDylib::lookupFlags(), llvm::codeview::DebugChecksumsSubsection::mapChecksumOffset(), llvm::orc::ReexportsGenerator::operator()(), llvm::operator==(), packCmovGroup(), llvm::ValueEnumerator::print(), llvm::FileInfo::print(), llvm::GCNRPTracker::printLiveRegs(), pushDepHeight(), llvm::GVNHoist::rank(), llvm::orc::JITDylib::remove(), llvm::safestack::StackColoring::removeAllMarkers(), llvm::MemoryDependenceResults::removeInstruction(), llvm::SlotIndexes::removeMachineInstrFromMaps(), llvm::SlotIndexes::removeSingleMachineInstrFromMaps(), ReorganizeVector(), llvm::SlotIndexes::replaceMachineInstrInMaps(), llvm::replaceSymbolicStrideSCEV(), replaceUndefValuesInPhi(), reportMismatch(), llvm::orc::MaterializationResponsibility::resolve(), llvm::orc::AsynchronousSymbolQuery::resolve(), llvm::SelectionDAGISel::runOnMachineFunction(), selectIncomingValueForBlock(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::InOutEdgeView< isConst, isOut >::size(), AllocaSlices::SliceBuilder::SliceBuilder(), SortNonLocalDepInfoCache(), llvm::thinLTOInternalizeModule(), llvm::thinLTOResolvePrevailingInModule(), tryToElideArgumentCopy(), and llvm::cflaa::CFLGraph::value_mappings().

◆ end() [2/2]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
const_iterator llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end ( ) const
inline

Definition at line 119 of file DenseMap.h.

◆ erase() [1/2]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
bool llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::erase ( const KeyT &  Val)
inline

◆ erase() [2/2]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
void llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::erase ( iterator  I)
inline

Definition at line 309 of file DenseMap.h.

◆ find() [1/2]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
iterator llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find ( const_arg_type_t< KeyT >  Val)
inline

Definition at line 176 of file DenseMap.h.

Referenced by llvm::BasicAAResult::alias(), llvm::ValueMapCallbackVH< KeyT, ValueT, Config >::allUsesReplacedWith(), llvm::SwingSchedulerDAG::applyInstrChange(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::at(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::InOutEdgeView< isConst, isOut >::begin(), llvm::BlotMapVector< KeyT, ValueT >::blot(), callsiteIsHot(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::InOutEdgeView< isConst, isOut >::cbegin(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::InOutEdgeView< isConst, isOut >::cend(), llvm::PMTopLevelManager::collectLastUses(), llvm::ObjectSizeOffsetEvaluator::compute(), llvm::EHStreamer::computeCallSiteTable(), llvm::SelectionDAGBuilder::CopyToExportRegsIfNeeded(), llvm::StackProtector::copyToMachineFrameInfo(), llvm::orc::MaterializationResponsibility::delegate(), llvm::PPCRegisterInfo::eliminateFrameIndex(), encodeBase64StringEntry(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::InOutEdgeView< isConst, isOut >::end(), llvm::opt::ArgList::eraseArg(), llvm::BlotMapVector< KeyT, ValueT >::find(), llvm::FunctionLoweringInfo::StatepointSpillMap::find(), findStartOfTree(), llvm::SSAUpdater::FindValueForBlock(), llvm::SwingSchedulerDAG::fixupRegisterOverlaps(), llvm::ARMAsmBackendDarwin::generateCompactUnwindEncoding(), llvm::GraphDiff< llvm::BasicBlock *, IsPostDom >::getAddedChildren(), llvm::ValueEnumerator::getAttributeGroupID(), llvm::ValueEnumerator::getAttributeListID(), llvm::MCRegisterInfo::getCodeViewRegNum(), llvm::SelectionDAGBuilder::getCopyFromRegs(), llvm::SparseSolver< LatticeKey, LatticeVal, KeyInfo >::getExistingValueState(), llvm::GCModuleInfo::getFunctionInfo(), llvm::SlotIndexes::getIndexAfter(), llvm::SlotIndexes::getIndexBefore(), llvm::ValueEnumerator::getInstructionID(), llvm::SlotIndexes::getInstructionIndex(), getMappedReg(), llvm::orc::LazyReexportsMaterializationUnit::getName(), llvm::TargetLibraryInfo::getName(), llvm::orc::ReExportsMaterializationUnit::getName(), llvm::cflaa::CFLGraph::getNode(), llvm::cflaa::CFLGraph::ValueInfo::getNumLevels(), llvm::ARMFunctionInfo::getOriginalCPIdx(), llvm::PassRegistry::getPassInfo(), llvm::LoopBlocksDFS::getPostorder(), llvm::SCEVUnionPredicate::getPredicatesForExpr(), getRegsUsedByPHIs(), getSCCNum(), llvm::SDDbgInfo::getSDDbgValues(), llvm::MCRegisterInfo::getSEHRegNum(), llvm::R600InstrInfo::getSrcs(), llvm::ValueEnumerator::getTypeID(), getUnderlyingArgReg(), getUnwindDestToken(), getUnwindDestTokenHelper(), llvm::NVPTXAsmPrinter::getVirtualRegisterName(), llvm::LoopBlocksDFS::hasPostorder(), hasSameExtUse(), llvm::GraphDiff< llvm::BasicBlock *, IsPostDom >::ignoreChild(), llvm::SCEVUnionPredicate::implies(), INITIALIZE_PASS(), llvm::SlotIndexes::insertMachineInstrInMaps(), llvm::FunctionLoweringInfo::InvalidatePHILiveOutRegInfo(), llvm::isAllocaPromotable(), llvm::AsmPrinter::isBlockOnlyReachableByFallthrough(), isEqual(), isOperandKill(), llvm::orc::JITDylib::legacyLookup(), loadObj(), llvm::orc::JITDylib::lookupFlags(), llvm::codeview::DebugChecksumsSubsection::mapChecksumOffset(), llvm::orc::ReexportsGenerator::operator()(), llvm::operator==(), packCmovGroup(), llvm::ValueEnumerator::print(), llvm::FileInfo::print(), llvm::GCNRPTracker::printLiveRegs(), pushDepHeight(), llvm::GVNHoist::rank(), llvm::orc::JITDylib::remove(), llvm::safestack::StackColoring::removeAllMarkers(), RemoveFromReverseMap(), llvm::MemoryDependenceResults::removeInstruction(), llvm::SlotIndexes::removeMachineInstrFromMaps(), removePhis(), llvm::SlotIndexes::removeSingleMachineInstrFromMaps(), ReorganizeVector(), llvm::SlotIndexes::replaceMachineInstrInMaps(), llvm::scc_iterator< GraphT, GT >::ReplaceNode(), llvm::replaceSymbolicStrideSCEV(), replaceUndefValuesInPhi(), reportMismatch(), llvm::orc::MaterializationResponsibility::resolve(), llvm::orc::AsynchronousSymbolQuery::resolve(), llvm::SelectionDAGISel::runOnMachineFunction(), selectIncomingValueForBlock(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::InOutEdgeView< isConst, isOut >::size(), AllocaSlices::SliceBuilder::SliceBuilder(), SortNonLocalDepInfoCache(), llvm::TailDuplicator::tailDuplicateAndUpdate(), llvm::thinLTOInternalizeModule(), llvm::thinLTOResolvePrevailingInModule(), tryToElideArgumentCopy(), UpdateCPSRUse(), and updateForIncomingValueLocation().

◆ find() [2/2]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
const_iterator llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find ( const_arg_type_t< KeyT >  Val) const
inline

Definition at line 182 of file DenseMap.h.

◆ find_as() [1/2]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
template<class LookupKeyT >
iterator llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find_as ( const LookupKeyT &  Val)
inline

Alternate 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 DenseMap.h.

Referenced by llvm::AssumptionCache::assumptionsFor(), llvm::ValueMap< const Function *, FuncInfo >::count(), llvm::ValueMap< const Function *, FuncInfo >::erase(), llvm::json::Object::find(), llvm::ValueMap< const Function *, FuncInfo >::find(), and llvm::ValueMap< const Function *, FuncInfo >::lookup().

◆ find_as() [2/2]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
template<class LookupKeyT >
const_iterator llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find_as ( const LookupKeyT &  Val) const
inline

Definition at line 202 of file DenseMap.h.

◆ FindAndConstruct() [1/2]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
value_type& llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::FindAndConstruct ( const KeyT &  Key)
inline

◆ FindAndConstruct() [2/2]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
value_type& llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::FindAndConstruct ( KeyT &&  Key)
inline

Definition at line 329 of file DenseMap.h.

◆ getEmptyKey()

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
static const KeyT llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::getEmptyKey ( )
inlinestaticprotected

Definition at line 448 of file DenseMap.h.

◆ getHashValue() [1/2]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
static unsigned llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::getHashValue ( const KeyT &  Val)
inlinestaticprotected

Definition at line 439 of file DenseMap.h.

◆ getHashValue() [2/2]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
template<typename LookupKeyT >
static unsigned llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::getHashValue ( const LookupKeyT &  Val)
inlinestaticprotected

Definition at line 444 of file DenseMap.h.

◆ getMemorySize()

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
size_t llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::getMemorySize ( ) const
inline

Return the approximate size (in bytes) of the actual map.

This is just the raw memory used by DenseMap. If entries are pointers to objects, the size of the referenced objects are not included.

Definition at line 667 of file DenseMap.h.

◆ getMinBucketToReserveForEntries()

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
unsigned llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::getMinBucketToReserveForEntries ( unsigned  NumEntries)
inlineprotected

Returns the number of buckets to allocate to ensure that the DenseMap can accommodate NumEntries without need to grow().

Definition at line 382 of file DenseMap.h.

◆ getPointerIntoBucketsArray()

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
const void* llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::getPointerIntoBucketsArray ( ) const
inline

getPointerIntoBucketsArray() - Return an opaque pointer into the buckets array.

In conjunction with the previous method, this can be used to determine whether an insertion caused the DenseMap to reallocate.

Definition at line 351 of file DenseMap.h.

Referenced by llvm::ValueMap< const Function *, FuncInfo >::getPointerIntoBucketsArray(), and llvm::Value::isSwiftError().

◆ getTombstoneKey()

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
static const KeyT llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::getTombstoneKey ( )
inlinestaticprotected

Definition at line 454 of file DenseMap.h.

◆ initEmpty()

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
void llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::initEmpty ( )
inlineprotected

Definition at line 369 of file DenseMap.h.

◆ insert() [1/3]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
std::pair<iterator, bool> llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert ( const std::pair< KeyT, ValueT > &  KV)
inline

Definition at line 221 of file DenseMap.h.

Referenced by llvm::opt::ArgList::append(), llvm::ARMBaseInstrInfo::ARMBaseInstrInfo(), llvm::LoopVectorizationCostModel::collectInstsToScalarize(), computeImportForFunction(), llvm::createSampleProfileLoaderPass(), llvm::orc::MaterializationResponsibility::defineMaterializing(), llvm::SplitEditor::dump(), llvm::orc::JITDylib::dump(), findArgumentCopyElisionCandidates(), findStackProtectorIntrinsic(), llvm::xray::BlockIndexer::flush(), gatherIncomingValuesToPhi(), llvm::AArch64InstrInfo::genAlternativeCodeSequence(), llvm::FunctionLoweringInfo::getCatchPadExceptionPointerVReg(), llvm::MemoryDependenceResults::getInvariantGroupPointerDependency(), getLocalId(), llvm::MemoryDependenceResults::getNonLocalPointerDependency(), getOpenCLAlignment(), getRegsUsedByPHIs(), llvm::MCObjectFileInfo::getStackSizesSection(), hasTiedDef(), llvm::HexagonEvaluator::HexagonEvaluator(), INITIALIZE_PASS(), llvm::MIRParserImpl::initializeConstantPool(), llvm::MIRParserImpl::initializeFrameInfo(), llvm::MIRParserImpl::initializeJumpTableInfo(), llvm::BlotMapVector< KeyT, ValueT >::insert(), llvm::ValueMap< const Function *, FuncInfo >::insert(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::insert(), llvm::SlotIndexes::insertMachineInstrInMaps(), llvm::AsmPrinter::isBlockOnlyReachableByFallthrough(), isLoadConditional(), loadObj(), MergeAliasResults(), llvm::xray::mergeProfilesByThread(), llvm::orc::ReexportsGenerator::operator()(), llvm::BlotMapVector< KeyT, ValueT >::operator[](), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::operator[](), llvm::ValueEnumerator::print(), pushDepHeight(), llvm::TargetInstrInfo::reassociateOps(), llvm::ARMFunctionInfo::recordCPEClone(), llvm::PassRegistry::registerPass(), regOverlapsSet(), llvm::objcarc::ProvenanceAnalysis::related(), llvm::MemoryDependenceResults::removeInstruction(), llvm::SlotIndexes::removeSingleMachineInstrFromMaps(), llvm::SlotIndexes::replaceMachineInstrInMaps(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::SlotIndexes::runOnMachineFunction(), selectIncomingValueForBlock(), shouldConvert(), AllocaSlices::SliceBuilder::SliceBuilder(), SortNonLocalDepInfoCache(), unswitchTrivialSwitch(), llvm::LoopBlocksTraversal::visitPreorder(), and llvm::MemorySSA::~MemorySSA().

◆ insert() [2/3]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
std::pair<iterator, bool> llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert ( std::pair< KeyT, ValueT > &&  KV)
inline

Definition at line 228 of file DenseMap.h.

◆ insert() [3/3]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
template<typename InputIt >
void llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert ( InputIt  I,
InputIt  E 
)
inline

insert - Range insertion of pairs.

Definition at line 293 of file DenseMap.h.

◆ insert_as()

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
template<typename LookupKeyT >
std::pair<iterator, bool> llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert_as ( std::pair< KeyT, ValueT > &&  KV,
const LookupKeyT &  Val 
)
inline

Alternate version of insert() 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 275 of file DenseMap.h.

◆ isPointerIntoBucketsArray()

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
bool llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::isPointerIntoBucketsArray ( const void *  Ptr) const
inline

isPointerIntoBucketsArray - Return true if the specified pointer points somewhere into the DenseMap's array of buckets (i.e.

either to a key or value in the DenseMap).

Definition at line 344 of file DenseMap.h.

Referenced by llvm::ValueMap< const Function *, FuncInfo >::isPointerIntoBucketsArray(), llvm::Value::isSwiftError(), and llvm::ValueHandleBase::RemoveFromUseList().

◆ lookup()

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
ValueT llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::lookup ( const_arg_type_t< KeyT >  Val) const
inline

◆ moveFromOldBuckets()

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
void llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::moveFromOldBuckets ( BucketT *  OldBucketsBegin,
BucketT *  OldBucketsEnd 
)
inlineprotected

Definition at line 391 of file DenseMap.h.

◆ operator[]() [1/2]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
ValueT& llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::operator[] ( const KeyT &  Key)
inline

Definition at line 325 of file DenseMap.h.

◆ operator[]() [2/2]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
ValueT& llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::operator[] ( KeyT &&  Key)
inline

Definition at line 337 of file DenseMap.h.

◆ reserve()

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
void llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::reserve ( size_type  NumEntries)
inline

Grow the densemap so that it can contain at least NumEntries items before resizing again.

Definition at line 130 of file DenseMap.h.

Referenced by llvm::DWARFVerifier::handleDebugLine(), llvm::LoopBlocksDFS::LoopBlocksDFS(), llvm::WholeProgramDevirtPass::run(), and llvm::SelectionDAG::updateDivergence().

◆ size()

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
unsigned llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::size ( ) const
inline

◆ try_emplace() [1/2]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
template<typename... Ts>
std::pair<iterator, bool> llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::try_emplace ( KeyT &&  Key,
Ts &&...  Args 
)
inline

◆ try_emplace() [2/2]

template<typename DerivedT, typename KeyT, typename ValueT, typename KeyInfoT, typename BucketT>
template<typename... Ts>
std::pair<iterator, bool> llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::try_emplace ( const KeyT &  Key,
Ts &&...  Args 
)
inline

Definition at line 255 of file DenseMap.h.


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