summaryrefslogtreecommitdiffstats
path: root/lld/wasm/SymbolTable.h
diff options
context:
space:
mode:
authorNicholas Wilson <nicholas@nicholaswilson.me.uk>2018-03-14 15:45:11 +0000
committerNicholas Wilson <nicholas@nicholaswilson.me.uk>2018-03-14 15:45:11 +0000
commitc4d9aa1b5f9b7cd5982cdd3241a839bef22967ba (patch)
tree533a254d25aefb214ffb076dbb7e44d81e020f17 /lld/wasm/SymbolTable.h
parent027b9357a8f23fdf9b0ab013ff27eaf9ec080961 (diff)
downloadbcm5719-llvm-c4d9aa1b5f9b7cd5982cdd3241a839bef22967ba.tar.gz
bcm5719-llvm-c4d9aa1b5f9b7cd5982cdd3241a839bef22967ba.zip
[WebAssembly] Avoid COMDAT hashmap lookup for each symbol. NFC
This reduces the number of lookups to one per COMDAT group, rather than one per symbol in a COMDAT group. Differential Revision: https://reviews.llvm.org/D44344 llvm-svn: 327523
Diffstat (limited to 'lld/wasm/SymbolTable.h')
-rw-r--r--lld/wasm/SymbolTable.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/lld/wasm/SymbolTable.h b/lld/wasm/SymbolTable.h
index 17c5a3bb699..6fb5c15782d 100644
--- a/lld/wasm/SymbolTable.h
+++ b/lld/wasm/SymbolTable.h
@@ -13,7 +13,7 @@
#include "InputFiles.h"
#include "Symbols.h"
#include "llvm/ADT/CachedHashString.h"
-#include "llvm/ADT/DenseMap.h"
+#include "llvm/ADT/DenseSet.h"
#include "llvm/Support/raw_ostream.h"
using llvm::wasm::WasmGlobalType;
@@ -65,7 +65,7 @@ public:
void addLazy(ArchiveFile *F, const Archive::Symbol *Sym);
- bool addComdat(StringRef Name, const ObjFile *File);
+ bool addComdat(StringRef Name);
DefinedData *addSyntheticDataSymbol(StringRef Name, uint32_t Flags);
DefinedGlobal *addSyntheticGlobal(StringRef Name, uint32_t Flags,
@@ -79,7 +79,7 @@ private:
llvm::DenseMap<llvm::CachedHashStringRef, Symbol *> SymMap;
std::vector<Symbol *> SymVector;
- llvm::DenseMap<StringRef, const ObjFile *> Comdats;
+ llvm::DenseSet<llvm::CachedHashStringRef> Comdats;
};
extern SymbolTable *Symtab;
OpenPOWER on IntegriCloud