This is an archive of the discontinued LLVM Phabricator instance.

[DebugInfo][CodeView] Use a fancier function display name when using line tables only to better differentiate between functions.
Needs ReviewPublic

Authored by akhuang on Jan 8 2021, 11:21 AM.

Details

Reviewers
rnk
dblaikie
Summary

Previously we emitted the fully qualified name when using
line-tables-only; this change adds the function arguments for
the current function (as opposed to only the functions in the
scope), and lambda id.

This increases the object file and PDB sizes by quite a bit, partly
because we're storing longer names and partly because there are more
LF_FUNC_IDs now.

This change also removes a bit of code that truncates the display name
at the first '<', because it truncates qualified names too early.

Obj files | PDB

Before | 833 MB | 397 MB
After | 1074 MB | 538 MB

Bug: https://bugs.llvm.org/show_bug.cgi?id=48432

Diff Detail

Event Timeline

akhuang created this revision.Jan 8 2021, 11:21 AM
akhuang requested review of this revision.Jan 8 2021, 11:21 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptJan 8 2021, 11:21 AM
rnk added a comment.Jan 8 2021, 3:21 PM

I put some comments on https://bugs.llvm.org/show_bug.cgi?id=48432#c4 about this. I'm not sure we should keep going this direction. Thanks for getting numbers, though.