[PATCH] D74169: [WIP][LLD][ELF][DebugInfo] Remove obsolete debug info.

David Blaikie via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 3 11:20:28 PDT 2020


dblaikie added a comment.

In D74169#1960135 <https://reviews.llvm.org/D74169#1960135>, @avl wrote:

> This version is a full patch implementing "remove obsolete debug info from lld" functionality.
>  As it was requested, It is presented as a full patch, which could be applied to the current code
>  base and evaluated. Some parts of that patch are already presented for review - D77169 <https://reviews.llvm.org/D77169>, D76085 <https://reviews.llvm.org/D76085>.
>  I am going to add tests for this patch and to address comments. Performance results would be presented in a separate message.
>
> Limitations: it does not support DWARF5, modules, -fdebug-types-section, type units, .debug_types, multiple .debug_info sections.


Not so much reason to support type units ("-fdebug-types-section/type units/.debug_types section/multiple .debug_info sections" all essentially describe the same thing). Since type units add object size overhead to reduced linked size in the face of a DWARF-agnostic/ignorant linker. If you have a DWARF aware linker, you'd probably avoid using type units so you could have smaller object files too.

Does it support multipe compile units in a single section in an object file (ala LTO/ThinLTO)?

> Testing: it passes check-all lit testing. It is able to compile llvm code base. llvm-dwarfdump --verify shows zero errors for clang built by lld from this patch.

Do you have memory usage/compile time numbers for linking various programs with/without this feature?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74169/new/

https://reviews.llvm.org/D74169





More information about the llvm-commits mailing list