Skip to content

Commit a2e8207

Browse files
[NFC][LLVMContext] Clean up DenseMapInfo classes used for APInt & APFloat.
DenseMapAPIntKeyInfo looks like a redundant definition because it mirrors the default used by DenseMap when not specified. Replacing DenseMapAPFloatKeyInfo with a specialisation of DenseMapInfo allows DenseMap<T> to be more easily used when T is an aggregate type containing an APFloat.
1 parent 8727982 commit a2e8207

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

llvm/lib/IR/LLVMContextImpl.h

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,7 @@ class StringRef;
7373
class TypedPointerType;
7474
class ValueHandleBase;
7575

76-
using DenseMapAPIntKeyInfo = DenseMapInfo<APInt>;
77-
78-
struct DenseMapAPFloatKeyInfo {
76+
template <> struct DenseMapInfo<APFloat> {
7977
static inline APFloat getEmptyKey() { return APFloat(APFloat::Bogus(), 1); }
8078
static inline APFloat getTombstoneKey() {
8179
return APFloat(APFloat::Bogus(), 2);
@@ -1489,11 +1487,9 @@ class LLVMContextImpl {
14891487

14901488
DenseMap<unsigned, std::unique_ptr<ConstantInt>> IntZeroConstants;
14911489
DenseMap<unsigned, std::unique_ptr<ConstantInt>> IntOneConstants;
1492-
DenseMap<APInt, std::unique_ptr<ConstantInt>, DenseMapAPIntKeyInfo>
1493-
IntConstants;
1490+
DenseMap<APInt, std::unique_ptr<ConstantInt>> IntConstants;
14941491

1495-
DenseMap<APFloat, std::unique_ptr<ConstantFP>, DenseMapAPFloatKeyInfo>
1496-
FPConstants;
1492+
DenseMap<APFloat, std::unique_ptr<ConstantFP>> FPConstants;
14971493

14981494
FoldingSet<AttributeImpl> AttrsSet;
14991495
FoldingSet<AttributeListImpl> AttrsLists;

0 commit comments

Comments
 (0)