[all-commits] [llvm/llvm-project] e734a1: Emit DW_LLE_base_address + DW_LLE_offset_pair for ...

Shubham Sandeep Rastogi via All-commits all-commits at lists.llvm.org
Wed Jun 21 12:49:37 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e734a12b608f8c4a2b03fb2f3194de1cc3b43344
      https://github.com/llvm/llvm-project/commit/e734a12b608f8c4a2b03fb2f3194de1cc3b43344
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2023-06-21 (Wed, 21 Jun 2023)

  Changed paths:
    M llvm/lib/DWARFLinker/DWARFStreamer.cpp
    M llvm/test/tools/dsymutil/ARM/dwarf5-dwarf4-combination-macho.test
    M llvm/test/tools/dsymutil/ARM/dwarf5-macho.test
    M llvm/test/tools/dsymutil/X86/dwarf5-loclists.test
    M llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-loclists.test

  Log Message:
  -----------
  Emit DW_LLE_base_address + DW_LLE_offset_pair for DWARF v5

This patch tries to reduce the size of the debug_loclist section by
replacing the DW_LLE_start_length opcodes currently emitted by dsymutil
in favor of using DW_LLE_base_address + DW_LLE_offset_pair instead.

The DW_LLE_start_length is one AddressSize followed by a ULEB per entry,
whereas, the DW_LLE_base_address + DW_LLE_offset_pair will use one
AddressSize for the base address, and then the DW_LLE_offset_pair is a
pair of ULEBs. This will be more efficient where a loclist fragment has
many entries.

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




More information about the All-commits mailing list