[llvm-dev] Making LLD PDB generation faster

Zachary Turner via llvm-dev
Wed, 27 Feb 2019 23:27:06 -0000

On Wed, Feb 27, 2019 at 3:17 PM Leonardo Santagada <santagada at
gmail.com>
wrote:

>
> Also we are investigating why we have 420 million types being linked while
> it appears that 95-99 % of them are not being used. De  anyone know if pch
> can help here? My feeling is not much as template instantiation still
> generates a ton of weak symbols on the pch users, but I might be confused.
>

This probably has to do with the fact that most types are duplicates.  If
there is a class Foo in a header file, and you include that header file in
100 different translation units, all 100 of them of them will get full type
information for that class in its object file.  This is the /Z7 semantics
that clang-cl implements.  The alternative is /Zi which uses a type server
(out of process de-duplicater) to do this merging at compile time, which is
what cl uses by default, and which clang-cl doesn't support.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20190227/c75d8485/attachment.html>