[llvm] r240961 - [SymbolSize] Skip sorting by index, just assign by index.

Benjamin Kramer benny.kra at googlemail.com
Mon Jun 29 09:05:00 PDT 2015


Author: d0k
Date: Mon Jun 29 11:05:00 2015
New Revision: 240961

URL: http://llvm.org/viewvc/llvm-project?rev=240961&view=rev
Log:
[SymbolSize] Skip sorting by index, just assign by index.

No functional change intended.

Modified:
    llvm/trunk/lib/Object/SymbolSize.cpp

Modified: llvm/trunk/lib/Object/SymbolSize.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/SymbolSize.cpp?rev=240961&r1=240960&r2=240961&view=diff
==============================================================================
--- llvm/trunk/lib/Object/SymbolSize.cpp (original)
+++ llvm/trunk/lib/Object/SymbolSize.cpp Mon Jun 29 11:05:00 2015
@@ -31,10 +31,6 @@ static int compareAddress(const SymEntry
   return A->Address - B->Address;
 }
 
-static int compareNumber(const SymEntry *A, const SymEntry *B) {
-  return A->Number - B->Number;
-}
-
 static unsigned getSectionID(const ObjectFile &O, SectionRef Sec) {
   if (auto *M = dyn_cast<MachOObjectFile>(&O))
     return M->getSectionID(Sec);
@@ -93,12 +89,12 @@ llvm::object::computeSymbolSizes(const O
     P.Address = Size;
   }
 
-  // Put back in the original order and copy the result
-  array_pod_sort(Addresses.begin(), Addresses.end(), compareNumber);
+  // Assign the sorted symbols in the original order.
+  Ret.resize(SymNum);
   for (SymEntry &P : Addresses) {
     if (P.I == O.symbol_end())
       continue;
-    Ret.push_back({*P.I, P.Address});
+    Ret[P.Number] = {*P.I, P.Address};
   }
   return Ret;
 }





More information about the llvm-commits mailing list