[PATCH] D62356: [COFF] Replace OutputSection* with uint16_t index in Chunk

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 24 11:07:15 PDT 2019


rnk marked an inline comment as done.
rnk added a comment.

In D62356#1516109 <https://reviews.llvm.org/D62356#1516109>, @aganea wrote:

> Great stuff, thanks for doing this Reid! :) Inherently, this should make things a bit faster, it will also reduce cache misses.


Yep, that's the hope. :) I really should go back to PDB memory usage optimization, though, it is the 80% of the 80/20 portion.

> We use a neat tool called Crunchersharp <https://github.com/msinilo/crunchersharp> to have a broader overview:
>  F8920204: crunchersharp.png <https://reviews.llvm.org/F8920204>

Thanks, I built it, but when I try to use it to load lld.pdb, it raises a "class not registered" exception, despite the fact that I followed the README.md instructions and registered msdia120.dll. DIA registration seems to be a continuing pain point in the Windows development world. :( I'll mess around with it.



================
Comment at: lld/test/COFF/strtab-size.s:16
 # RUN: llvm-readobj --file-headers %t.exe | FileCheck %s
-# CHECK: SymbolCount: 199
+# CHECK: SymbolCount: 197
 
----------------
aganea wrote:
> Could you please explain why this changed? Just curious.
When I dumped the symbols, .data and .bss no longer showed up. Now that we assign output sections to chunks after removing zero-size output sections, these symbols from the input objects no longer show up in the symbol table. llvm-mc always creates zero-size .data and .bss, although perhaps it shouldn't.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D62356





More information about the llvm-commits mailing list