[all-commits] [llvm/llvm-project] bb6406: [DebugInfo] Simplify DwarfDebug::emitMacro

David via All-commits all-commits at lists.llvm.org
Tue Aug 11 08:01:06 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: bb640645f52410cac9c82eb8295cb4d442efd29e
      https://github.com/llvm/llvm-project/commit/bb640645f52410cac9c82eb8295cb4d442efd29e
  Author: David Stenberg <david.stenberg at ericsson.com>
  Date:   2020-08-11 (Tue, 11 Aug 2020)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp

  Log Message:
  -----------
  [DebugInfo] Simplify DwarfDebug::emitMacro

Broken out from a review comment on D82975. This is an NFC expect for
that the Macinfo macro string is now emitted using a single emitBytes()
invocation, so it can be done using a single string directive.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D83557


  Commit: e2f32404727f891fea309f8457d87b1c306e3fcc
      https://github.com/llvm/llvm-project/commit/e2f32404727f891fea309f8457d87b1c306e3fcc
  Author: David Stenberg <david.stenberg at ericsson.com>
  Date:   2020-08-11 (Tue, 11 Aug 2020)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    A llvm/test/DebugInfo/X86/debug-macro-gnu-dwo.ll
    A llvm/test/DebugInfo/X86/debug-macro-gnu.ll

  Log Message:
  -----------
  [DebugInfo] Allow GNU macro extension to be emitted

Allow the GNU .debug_macro extension to be emitted for DWARF versions
earlier than 5. The extension is basically what became DWARF 5's format,
except that a DW_AT_GNU_macros attribute is emitted, and some entries
like the strx entries are missing. In this patch I emit GNU's indirect
entries, which are the same as DWARF 5's strp entries.

This patch adds the extension behind a hidden LLVM flag,
-use-gnu-debug-macro. I would later want to enable it by default when
tuning for GDB and targeting DWARF versions earlier than 5.

The size of a Clang 8.0 binary built with RelWithDebInfo and the flags
"-gdwarf-4 -fdebug-macro" reduces from 1533 MB to 1349 MB with
.debug_macro (compared to 1296 MB without -fdebug-macro).

Reviewed By: SouraVX, dblaikie

Differential Revision: https://reviews.llvm.org/D82975


Compare: https://github.com/llvm/llvm-project/compare/d287a5a33f63...e2f32404727f


More information about the All-commits mailing list