[PATCH] D95985: [ELF] Resolve defined symbols before undefined symbols

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 8 15:16:00 PST 2021


MaskRay added inline comments.


================
Comment at: lld/ELF/InputFiles.cpp:1137
   // Symbol resolution of non-local symbols.
+  SmallVector<size_t, 8> unds;
   for (size_t i = firstGlobal, end = eSyms.size(); i != end; ++i) {
----------------
peter.smith wrote:
> I've seen quite a few objects with more than 8 undefined symbols, particularly older projects. Is it worth running a quick experiment to see what the distribution is like? For example the undefined symbols per object in a clang/llvm build.
Linking clang:

* This function is called 2287 times.
* 228 elements have <= 8 elements.
* 465 elements have <= 16 elements.
* 842 elements have <= 32 elements.
* 1565 elements have <= 64 elements.



Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D95985/new/

https://reviews.llvm.org/D95985



More information about the llvm-commits mailing list