[llvm] r176605 - Debug Info: store the files and directories for each compile unit.
Rafael EspĂndola
rafael.espindola at gmail.com
Fri Jan 31 20:20:13 PST 2014
Hi Manman and Eric,
I started looking at what would be needed to properly represent this
in a .s file in order to remove the calls to hasRawTextSupport. It
looks like we would need a compilation unit id for .file and some
directive that produces the offset of a given compilation unit in
debug_line. Not too hard, but I am somewhat confused as to what the
advantage of having multiple line tables is. From your commit message
it sounds like the prologue is duplicated, but that is not what I am
seeing.
As an experiment I compiled clang with lto and -gline-tables-only. The
size of the resulting .debug_line section is
via assembly: 0x9b6358 bytes (10.183512 MB)
direct: 0xbb7a83 bytes (12.286595 MB)
The version using direct object emission has 1267 line tables. The
version using assembly has 1. Sure, that table has 10738 files, but it
is still quiet a bit smaller than the total in the direct emission
case.
Cheers,
Rafael
More information about the llvm-commits
mailing list