[lld] r317910 - Use DenseMap instead of std::map in fixupExports
Reid Kleckner via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 10 11:12:02 PST 2017
Author: rnk
Date: Fri Nov 10 11:12:01 2017
New Revision: 317910
URL: http://llvm.org/viewvc/llvm-project?rev=317910&view=rev
Log:
Use DenseMap instead of std::map in fixupExports
Some DLLs have many exports, and this data structure shows up in the
profile of linking content.dll.
Modified:
lld/trunk/COFF/DriverUtils.cpp
Modified: lld/trunk/COFF/DriverUtils.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/DriverUtils.cpp?rev=317910&r1=317909&r2=317910&view=diff
==============================================================================
--- lld/trunk/COFF/DriverUtils.cpp (original)
+++ lld/trunk/COFF/DriverUtils.cpp Fri Nov 10 11:12:01 2017
@@ -594,7 +594,7 @@ void fixupExports() {
}
// Uniquefy by name.
- std::map<StringRef, Export *> Map;
+ DenseMap<StringRef, Export *> Map(Config->Exports.size());
std::vector<Export> V;
for (Export &E : Config->Exports) {
auto Pair = Map.insert(std::make_pair(E.ExportName, &E));
More information about the llvm-commits
mailing list