[llvm] d5a05ac - [Target] Remove unused DenseMapInfo::getEmptyKey (#201993)
via llvm-commits
llvm-commits at lists.llvm.org
Sat Jun 6 11:17:52 PDT 2026
Author: Fangrui Song
Date: 2026-06-06T11:17:46-07:00
New Revision: d5a05ac792829360348f57166c0ae2f707d3ba3f
URL: https://github.com/llvm/llvm-project/commit/d5a05ac792829360348f57166c0ae2f707d3ba3f
DIFF: https://github.com/llvm/llvm-project/commit/d5a05ac792829360348f57166c0ae2f707d3ba3f.diff
LOG: [Target] Remove unused DenseMapInfo::getEmptyKey (#201993)
After #201281 DenseMapInfo<T>::getEmptyKey() is no longer used by
DenseMap. Remove the unused getEmptyKey definitions and dead sentinel
uses.
Added:
Modified:
llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.h
llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
llvm/lib/Target/SPIRV/SPIRVTypeInst.h
llvm/lib/Target/X86/X86OptimizeLEAs.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp b/llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
index 77a7f15bdb763..7b9d149a79993 100644
--- a/llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
+++ b/llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
@@ -231,7 +231,6 @@ struct SlotWithTag {
namespace llvm {
template <> struct DenseMapInfo<SlotWithTag> {
- static inline SlotWithTag getEmptyKey() { return {-2, -2}; }
static unsigned getHashValue(const SlotWithTag &V) {
return hash_combine(DenseMapInfo<int>::getHashValue(V.FI),
DenseMapInfo<int>::getHashValue(V.Tag));
diff --git a/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp b/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
index 7146f60ba9f18..7ec0b2564d5a9 100644
--- a/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+++ b/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
@@ -479,11 +479,6 @@ hasHazard(StateT InitialState,
}
};
struct StateMapKeyTraits : DenseMapInfo<StateMapKey> {
- static inline StateMapKey getEmptyKey() {
- return {static_cast<SmallVectorImpl<StateT> *>(
- DenseMapInfo<void *>::getEmptyKey()),
- DenseMapInfo<unsigned>::getEmptyKey()};
- }
static unsigned getHashValue(const StateMapKey &Key) {
return StateT::getHashValue((*Key.States)[Key.Idx]);
}
@@ -491,14 +486,9 @@ hasHazard(StateT InitialState,
return StateT::getHashValue(State);
}
static bool isEqual(const StateMapKey &LHS, const StateMapKey &RHS) {
- const auto EKey = getEmptyKey();
- if (StateMapKey::isEqual(LHS, EKey) || StateMapKey::isEqual(RHS, EKey))
- return StateMapKey::isEqual(LHS, RHS);
return StateT::isEqual((*LHS.States)[LHS.Idx], (*RHS.States)[RHS.Idx]);
}
static bool isEqual(const StateT &LHS, const StateMapKey &RHS) {
- if (StateMapKey::isEqual(RHS, getEmptyKey()))
- return false;
return StateT::isEqual(LHS, (*RHS.States)[RHS.Idx]);
}
};
diff --git a/llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.h b/llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.h
index 85e5ef76029b8..9e849d80ded53 100644
--- a/llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.h
+++ b/llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.h
@@ -75,9 +75,6 @@ class CSKYTargetStreamer : public MCTargetStreamer {
};
template <> struct DenseMapInfo<CSKYTargetStreamer::SymbolIndex> {
- static inline CSKYTargetStreamer::SymbolIndex getEmptyKey() {
- return {nullptr, CSKY::S_Invalid};
- }
static unsigned getHashValue(const CSKYTargetStreamer::SymbolIndex &V) {
return hash_combine(DenseMapInfo<const MCSymbol *>::getHashValue(V.sym),
DenseMapInfo<int>::getHashValue(V.kind));
diff --git a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
index 3bf08e1d662f0..0a2c7a1719042 100644
--- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
+++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
@@ -124,7 +124,6 @@ template <>
struct DenseMapInfo<std::pair<const MCSymbol *, PPCMCExpr::Specifier>> {
using TOCKey = std::pair<const MCSymbol *, PPCMCExpr::Specifier>;
- static inline TOCKey getEmptyKey() { return {nullptr, PPC::S_None}; }
static unsigned getHashValue(const TOCKey &PairVal) {
return detail::combineHashValue(
DenseMapInfo<const MCSymbol *>::getHashValue(PairVal.first),
diff --git a/llvm/lib/Target/SPIRV/SPIRVTypeInst.h b/llvm/lib/Target/SPIRV/SPIRVTypeInst.h
index f6b598308095f..6e6f971a37549 100644
--- a/llvm/lib/Target/SPIRV/SPIRVTypeInst.h
+++ b/llvm/lib/Target/SPIRV/SPIRVTypeInst.h
@@ -61,9 +61,6 @@ class SPIRVTypeInst {
template <> struct DenseMapInfo<SPIRVTypeInst> {
using MIInfo = DenseMapInfo<MachineInstr *>;
- static SPIRVTypeInst getEmptyKey() {
- return {MIInfo::getEmptyKey(), SPIRVTypeInst::UncheckedConstructor()};
- }
static unsigned getHashValue(SPIRVTypeInst Ty) {
return MIInfo::getHashValue(Ty.MI);
}
diff --git a/llvm/lib/Target/X86/X86OptimizeLEAs.cpp b/llvm/lib/Target/X86/X86OptimizeLEAs.cpp
index 624d333783e63..7924a2080ee79 100644
--- a/llvm/lib/Target/X86/X86OptimizeLEAs.cpp
+++ b/llvm/lib/Target/X86/X86OptimizeLEAs.cpp
@@ -118,17 +118,7 @@ namespace llvm {
template <> struct DenseMapInfo<MemOpKey> {
using PtrInfo = DenseMapInfo<const MachineOperand *>;
- static inline MemOpKey getEmptyKey() {
- return MemOpKey(PtrInfo::getEmptyKey(), PtrInfo::getEmptyKey(),
- PtrInfo::getEmptyKey(), PtrInfo::getEmptyKey(),
- PtrInfo::getEmptyKey());
- }
-
static unsigned getHashValue(const MemOpKey &Val) {
- // Checking any field of MemOpKey is enough to determine if the key is
- // empty.
- assert(Val.Disp != PtrInfo::getEmptyKey() && "Cannot hash the empty key");
-
hash_code Hash = hash_combine(*Val.Operands[0], *Val.Operands[1],
*Val.Operands[2], *Val.Operands[3]);
@@ -166,10 +156,6 @@ template <> struct DenseMapInfo<MemOpKey> {
}
static bool isEqual(const MemOpKey &LHS, const MemOpKey &RHS) {
- // Checking any field of MemOpKey is enough to determine if the key is
- // empty.
- if (RHS.Disp == PtrInfo::getEmptyKey())
- return LHS.Disp == PtrInfo::getEmptyKey();
return LHS == RHS;
}
};
More information about the llvm-commits
mailing list