[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