[llvm-bugs] [Bug 39563] New: Evaluate stripping dead types from PDBs
via llvm-bugs
llvm-bugs at lists.llvm.org
Mon Nov 5 13:25:47 PST 2018
https://bugs.llvm.org/show_bug.cgi?id=39563
Bug ID: 39563
Summary: Evaluate stripping dead types from PDBs
Product: lld
Version: unspecified
Hardware: PC
OS: Windows NT
Status: NEW
Severity: enhancement
Priority: P
Component: COFF
Assignee: unassignedbugs at nondot.org
Reporter: rnk at google.com
CC: llvm-bugs at lists.llvm.org, zturner at google.com
When LLD makes a PDB, it includes all types from all objects and type server
PDBs. When MSVC link.exe makes a PDB, it brings in types one at a time as they
are referenced from symbol records, in our observations. This means LLD PDBs
may include extra type information.
This is less of a problem when compiling with clang, because clang only emits
debug info for types that were required to be complete by default
(-fstandalone-debug vs -flimit-debug-info). However, there can still be dead
type info, especially when /OPT:REF is enabled, because that will cause the
code and corresponding symbol records to be discarded at link time. Those
symbol records may reference otherwise dead type information (lambda types
especially).
We should add a tool to llvm-pdbutil to calculate what percentage of type
records and type record bytes are actually referenced by symbol records, and
decide if it's worth spending time in the linker to strip this extra
unreferenced info.
I suspect that it won't be worth doing, but it'd be nice to build a tool to
collect this data.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20181105/26cea0fa/attachment.html>
More information about the llvm-bugs
mailing list