[all-commits] [llvm/llvm-project] a195d1: [DebugInfo] Implement TAG_label entries for debug_...
Felipe de Azevedo Piovezan via All-commits
all-commits at lists.llvm.org
Mon Nov 13 11:03:11 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a195d1fc6c33c203c7863f03fe1513c950d59a83
https://github.com/llvm/llvm-project/commit/a195d1fc6c33c203c7863f03fe1513c950d59a83
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2023-11-13 (Mon, 13 Nov 2023)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/test/DebugInfo/X86/debug-names-dwarf64.ll
Log Message:
-----------
[DebugInfo] Implement TAG_label entries for debug_names (#71724)
The DWARF 5 specification says that:
> The name index must contain an entry for each debugging information
entry that
> defines a named [...] label [...].
The verifier currently verifies this, but the AsmPrinter does not add
entries for TAG_labels in debug_names. This patch addresses the issue by
ensuring we add labels in the accelerator tables once we have a fully
completed DIE for the TAG_label entry.
We also respect the spec as follows:
> DW_TAG_label debugging information entries without an address
attribute
> (DW_AT_low_pc, DW_AT_high_pc, DW_AT_ranges, or DW_AT_entry_pc) are
excluded.
The effect of this on the size of accelerator tables is minimal, as
TAG_labels are usually created by C/C++ labels (see example in test),
which are typically paired with "goto" statements.
More information about the All-commits
mailing list