[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