[lld] [llvm] [lld][COFF] Remove duplicate strtab entries (PR #141197)

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 12 20:23:55 PDT 2025


================
@@ -138,13 +138,41 @@ void StringTableBuilder::finalizeInOrder() {
 void StringTableBuilder::finalizeStringTable(bool Optimize) {
   Finalized = true;
 
-  if (Optimize) {
+  if (Optimize && StringIndexMap.size()) {
     std::vector<StringPair *> Strings;
     Strings.reserve(StringIndexMap.size());
     for (StringPair &P : StringIndexMap)
       Strings.push_back(&P);
 
-    multikeySort(Strings, 0);
+    auto getStringPriority = [this](const CachedHashStringRef Str) -> uint8_t {
+      if (StringPriorityMap.contains(Str))
----------------
MaskRay wrote:

`StringPriorityMap.lookup(Str)`

https://github.com/llvm/llvm-project/pull/141197


More information about the llvm-commits mailing list