llvm::DenseMapInfo

Traits type that supplies DenseMap hashing and equality for value type T.

Synopsis

Declared in <llvm/ADT/DenseMapInfo.h>

template<
    typename T,
    typename Enable = void>
struct DenseMapInfo;

Description

An information struct used to provide DenseMap with the various necessary components for a given value type T. Enable is an optional additional parameter that is used to support SFINAE (generally using std::enable_if_t) in derived DenseMapInfo specializations; in non-SFINAE use cases this should just be void.

Specializations

NameDescription
DenseMapInfo<AACacheLoc> DenseMapInfo specialization for AACacheLoc keys.
DenseMapInfo<AAMDNodes> DenseMapInfo specialization for hashing and comparing AAMDNodes.
DenseMapInfo<APFixedPoint> DenseMapInfo specialization for APFixedPoint.
DenseMapInfo<orc::AllocGroup> DenseMapInfo specialization so AllocGroup can be used as a DenseMap key.
DenseMapInfo<Attribute::AttrKind> DenseMapInfo specialization for Attribute::AttrKind.
DenseMapInfo<BasicBlockEdge> DenseMapInfo specialization so BasicBlockEdge can be a DenseMap key.
DenseMapInfo<BitVector> Provide DenseMapInfo for BitVector, hashing size and word storage.
DenseMapInfo<cas::CASID> DenseMapInfo specialization for cas::CASID.
DenseMapInfo<CachedHashString> DenseMapInfo specialization for CachedHashString.
DenseMapInfo<CachedHashStringRef> DenseMapInfo specialization for CachedHashStringRef.
DenseMapInfo<sandboxir::Context::CallbackID> DenseMapInfo specialization for sandboxir::Context::CallbackID.
DenseMapInfo<FunctionSummary::ConstVCall> DenseMapInfo specialization for FunctionSummary::ConstVCall.
DenseMapInfo<coverage::CounterExpression> Provide DenseMapInfo for CounterExpression.
DenseMapInfo<CycleRef> DenseMapInfo specialization for CycleRef.
DenseMapInfo<DebugVariable> DenseMapInfo specialization for DebugVariable keys.
DenseMapInfo<DebugVariableAggregate> DenseMapInfo specialization for DebugVariableAggregate keys.
DenseMapInfo<DivRemMapKey> DenseMapInfo specialization so DivRemMapKey can be a DenseMap key.
DenseMapInfo<orc::ExecutorAddr> DenseMapInfo specialization for ExecutorAddr.
DenseMapInfo<gsym::FileEntry> DenseMapInfo specialization so FileEntry can be used as a DenseMap key.
DenseMapInfo<FixedPointSemantics> DenseMapInfo specialization for FixedPointSemantics.
DenseMapInfo<ScalarEvolution::FoldID> DenseMapInfo specialization for ScalarEvolution::FoldID.
DenseMapInfo<DIExpression::FragmentInfo> DenseMapInfo for DIExpression fragment descriptors.
DenseMapInfo<codeview::GloballyHashedType> DenseMapInfo specialization for globally hashed types.
DenseMapInfo<IRPosition> Helper that allows IRPosition as a key in a DenseMap. DenseMapInfo specialization for IRPosition keys.
DenseMapInfo<LLT> DenseMapInfo specialization so LLT can be used as a DenseMap key.
DenseMapInfo<memprof::LineLocation> DenseMapInfo specialization for memprof::LineLocation keys.
DenseMapInfo<sampleprof::LineLocation> DenseMapInfo specialization for sampleprof::LineLocation.
DenseMapInfo<codeview::LocallyHashedType> DenseMapInfo specialization for locally hashed types.
DenseMapInfo<LocationSize> Provide DenseMapInfo for LocationSize.
DenseMapInfo<MBBSectionID> DenseMapInfo specialization for MBBSectionID keys.
DenseMapInfo<MCRegister> DenseMapInfo specialization for MCRegister.
DenseMapInfo<MachineOperand> DenseMapInfo specialization so MachineOperand can be used as a DenseMap key.
DenseMapInfo<orc::MemProt> DenseMapInfo specialization so MemProt can be used as a DenseMap key.
DenseMapInfo<MemoryLocation> Provide DenseMapInfo for MemoryLocation.
DenseMapInfo<orc::NonOwningSymbolStringPtr> DenseMapInfo specialization for non-owning symbol-string pointers.
DenseMapInfo<cas::ObjectRef> DenseMapInfo specialization for cas::ObjectRef.
DenseMapInfo<OffsetAndUnitID> DenseMapInfo specialization for OffsetAndUnitID keys.
DenseMapInfo<TargetInstrInfo::RegSubRegPair> Provide DenseMapInfo for TargetInstrInfo::RegSubRegPair.
DenseMapInfo<Register> DenseMapInfo specialization for Register.
DenseMapInfo<SCEVUse> DenseMapInfo specialization for SCEVUse.
DenseMapInfo<SDValue> DenseMapInfo specialization for SDValue keys.
DenseMapInfo<SampleContext> DenseMapInfo specialization for SampleContext.
DenseMapInfo<object::SectionRef> DenseMapInfo specialization so SectionRef can be used as a DenseMap key.
DenseMapInfo<SmallBitVector> Provide DenseMapInfo for SmallBitVector, hashing size and word storage.
DenseMapInfo<minidump::StreamType> DenseMapInfo specialization so StreamType can be used as a DenseMap key.
DenseMapInfo<orc::SymbolStringPtr> DenseMapInfo specialization for owning symbol-string pointers.
DenseMapInfo<SymbolsMapKey> DenseMapInfo specialization so SymbolsMapKey can be used as a DenseMap key.
DenseMapInfo<omp::TraitProperty> DenseMapInfo specialization for omp::TraitProperty keys.
DenseMapInfo<codeview::TypeIndex> DenseMapInfo specialization for CodeView TypeIndex keys.
DenseMapInfo<UniqueBBID> DenseMapInfo specialization for UniqueBBID keys.
DenseMapInfo<llvm::sys::fs::UniqueID> DenseMapInfo specialization so UniqueID can be used as a DenseMap key.
DenseMapInfo<UpwardDefsElem> DenseMapInfo for UpwardDefsElem keyed by access, location, and flag.
DenseMapInfo<FunctionSummary::VFuncId> DenseMapInfo specialization for FunctionSummary::VFuncId.
DenseMapInfo<AA::ValueAndContext> DenseMapInfo specialization for AA::ValueAndContext keys.
DenseMapInfo<ValueInfo> DenseMapInfo specialization for ValueInfo.
DenseMapInfo<AA::ValueScope> DenseMapInfo specialization for AA::ValueScope keys.
DenseMapInfo<at::VarRecord> DenseMapInfo specialization so at::VarRecord can be a DenseMap key.
DenseMapInfo<VersionTuple> Provide DenseMapInfo for version tuples.
DenseMapInfo<WeakVH> DenseMapInfo specialization so WeakVH can be used as a DenseMap key.
DenseMapInfo<BasicBlock::iterator> DenseMapInfo specialization for BasicBlock::iterator.
DenseMapInfo<SmallVector<sandboxir::Value*>> Traits for DenseMap keyed by SmallVector of sandboxir::Value pointers.
DenseMapInfo<AA::InstExclusionSetTy const*> DenseMapInfo specialization for instruction-exclusion set pointers.
DenseMapInfo<Enum> DenseMapInfo specialization for enumeration key types.
DenseMapInfo<T> DenseMapInfo specialization for integral key types.
DenseMapInfo<AssertingVH<T>> DenseMapInfo specialization treating AssertingVH like a raw T* key.
DenseMapInfo<PointerUnion<PTs...>> DenseMapInfo specialization so PointerUnion can be used as a DenseMap key.
DenseMapInfo<PoisoningVH<T>> DenseMapInfo specialization so PoisoningVH can be used as a DenseMap key.
DenseMapInfo<std::optional<T>> DenseMapInfo specialization for optional keys whose value type has info.
DenseMapInfo<std::tuple<Ts...>> DenseMapInfo specialization for tuples whose members have DenseMapInfo.
DenseMapInfo<T*> DenseMapInfo specialization for pointer keys.
DenseMapInfo<PointerEmbeddedInt<IntT, Bits>> DenseMapInfo specialization so PointerEmbeddedInt can be a DenseMap key.
DenseMapInfo<PointerSumType<TagT, MemberTs...>> DenseMapInfo specialization so PointerSumType can be used as a DenseMap key.
DenseMapInfo<llvm::SmallVector<T, N>> DenseMapInfo specialization for SmallVector keys.
DenseMapInfo<std::pair<T, U>> DenseMapInfo specialization for pairs whose members have DenseMapInfo.
DenseMapInfo<ValueMapCallbackVH<KeyT, ValueT, Config>> DenseMapInfo for ValueMapCallbackVH, hashing and comparing by unwrapped key.
DenseMapInfo<APInt, void> Provide DenseMapInfo for APInt.
DenseMapInfo<APSInt, void> Provide DenseMapInfo for APSInt, using the DenseMapInfo for APInt.
DenseMapInfo<AttributeList, void> Provide DenseMapInfo for AttributeList.
DenseMapInfo<AttributeSet, void> Provide DenseMapInfo for AttributeSet.
DenseMapInfo<ElementCount, void> DenseMapInfo specialization for ElementCount keys.
DenseMapInfo<sampleprof::FunctionId, void> Template specialization for FunctionId so that it can be used in LLVM map containers.
DenseMapInfo<StringRef, void> DenseMapInfo specialization so StringRef can be used as a DenseMap key.
DenseMapInfo<hash_code, void> DenseMapInfo specialization for hash_code keys.
DenseMapInfo<ArrayRef<T>, void> DenseMapInfo specialization so ArrayRef can be used as a DenseMap key.
DenseMapInfo<ImmutableList<T>, void> DenseMapInfo specialization for ImmutableList keys.
DenseMapInfo<PointerIntPair<PointerTy, IntBits, IntType>, void> DenseMapInfo specialization so PointerIntPair can be a DenseMap key.

Derived Classes

NameDescription
DenseMapInfo<AA::ValueAndContext> DenseMapInfo specialization for AA::ValueAndContext keys.
DenseMapInfo<AA::ValueScope> DenseMapInfo specialization for AA::ValueScope keys.
DenseMapInfo<AssertingVH<T>> DenseMapInfo specialization treating AssertingVH like a raw T* key.
DenseMapInfo<AA::InstExclusionSetTy const*> DenseMapInfo specialization for instruction-exclusion set pointers.
MachineInstrExpressionTrait DenseMapInfo traits that compare MachineInstr* by instruction value.