COFF: Use a bit in SymbolBody to track which symbols are written to the symbol table.
authorPeter Collingbourne <peter@pcc.me.uk>
Sun, 11 Dec 2016 22:15:20 +0000 (22:15 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Sun, 11 Dec 2016 22:15:20 +0000 (22:15 +0000)
commit99111287fc97eb95f035e2ad867165f563caa5fd
tree92a0f7ba1d45d897c95745f381c9b2af0c60f30b
parent831435cb1455b8ca56edd9d4b0fad27b5a5230cc
COFF: Use a bit in SymbolBody to track which symbols are written to the symbol table.

Using a set here caused us to take about 1 second longer to write the symbol
table when linking chrome_child.dll. With this I consistently get better
performance on Windows with the new symbol table.

Before r289280 and with r289183 reverted (median of 5 runs): 17.65s
After this change: 17.33s

On Linux things look even better:

Before: 10.700480444s
After: 5.735681610s

Differential Revision: https://reviews.llvm.org/D27648

llvm-svn: 289408
lld/COFF/Symbols.h
lld/COFF/Writer.cpp