[all-commits] [llvm/llvm-project] fe6cdd: [DWARF] Allow op-index in line number programs

David via All-commits all-commits at lists.llvm.org
Wed Jul 12 04:48:12 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fe6cddef2020c8e103cff8180540d4e2e9102c6d
  Author: David Stenberg <david.stenberg at ericsson.com>
  Date:   2023-07-12 (Wed, 12 Jul 2023)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    M llvm/test/MC/ELF/RISCV/gen-dwarf.s
    M llvm/test/tools/llvm-dwarfdump/X86/tombstone.s
    M llvm/test/tools/llvm-dwarfdump/X86/verbose.test
    M llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp

  Log Message:
  [DWARF] Allow op-index in line number programs

This extends DWARFDebugLine to properly parse line number programs with
maximum_operations_per_instruction > 1 for VLIW targets.

No functions that use that parsed output to retrieve line information
have been extended to support multiple op-indexes. This means that when
retrieving information for an address with multiple op-indexes, e.g.
when using llvm-addr2line, the penultimate row for that address will be
used, which in most cases is the row for the second largest op-index.
This will be addressed in further changes, but this patch at least
allows us to correctly parse such line number programs, with a warning
saying that the line number information may be incorrect (incomplete).

Reviewed By: StephenTozer

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

More information about the All-commits mailing list