[lld] r266982 - Use llvm::CachedHash.

Rafael Espindola via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 21 05:21:07 PDT 2016


Author: rafael
Date: Thu Apr 21 07:21:06 2016
New Revision: 266982

URL: http://llvm.org/viewvc/llvm-project?rev=266982&view=rev
Log:
Use llvm::CachedHash.

Modified:
    lld/trunk/ELF/SymbolTable.h

Modified: lld/trunk/ELF/SymbolTable.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/SymbolTable.h?rev=266982&r1=266981&r2=266982&view=diff
==============================================================================
--- lld/trunk/ELF/SymbolTable.h (original)
+++ lld/trunk/ELF/SymbolTable.h Thu Apr 21 07:21:06 2016
@@ -20,36 +20,7 @@ class Lazy;
 template <class ELFT> class OutputSectionBase;
 struct Symbol;
 
-struct SymName {
-  SymName(StringRef Name) : Name(Name) {
-    Hash = llvm::DenseMapInfo<StringRef>::getHashValue(Name);
-  }
-  SymName(StringRef Name, unsigned Hash) : Name(Name), Hash(Hash) {}
-  StringRef Name;
-  unsigned Hash;
-};
-}
-}
-
-namespace llvm {
-template <> struct DenseMapInfo<lld::elf::SymName> {
-  static lld::elf::SymName getEmptyKey() {
-    StringRef N = DenseMapInfo<StringRef>::getEmptyKey();
-    return {N, 0};
-  }
-  static lld::elf::SymName getTombstoneKey() {
-    StringRef N = DenseMapInfo<StringRef>::getTombstoneKey();
-    return {N, 0};
-  }
-  static unsigned getHashValue(lld::elf::SymName Name) { return Name.Hash; }
-  static bool isEqual(lld::elf::SymName A, lld::elf::SymName B) {
-    return A.Name == B.Name;
-  }
-};
-}
-
-namespace lld {
-namespace elf {
+typedef llvm::CachedHash<StringRef> SymName;
 
 // SymbolTable is a bucket of all known symbols, including defined,
 // undefined, or lazy symbols (the last one is symbols in archive




More information about the llvm-commits mailing list