[all-commits] [llvm/llvm-project] e22ff5: [BOLT][DWARF] Change rangelists to use DW_RLE_offs...

Alexander Yermolovich via All-commits all-commits at lists.llvm.org
Fri Jan 6 13:47:33 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e22ff52c10d1fdaedc3e24a7884ec215e78eeec4
      https://github.com/llvm/llvm-project/commit/e22ff52c10d1fdaedc3e24a7884ec215e78eeec4
  Author: Alexander Yermolovich <ayermolo at fb.com>
  Date:   2023-01-06 (Fri, 06 Jan 2023)

  Changed paths:
    M bolt/include/bolt/Core/DebugData.h
    M bolt/lib/Core/DebugData.cpp
    M bolt/test/X86/dwarf5-debug-loclists.s
    M bolt/test/X86/dwarf5-df-dualcu.test
    M bolt/test/X86/dwarf5-df-mono-dualcu.test
    M bolt/test/X86/dwarf5-dwarf4-monolithic.test
    M bolt/test/X86/dwarf5-locexpr-addrx.s
    M bolt/test/X86/dwarf5-loclist-offset-form.test
    M bolt/test/X86/dwarf5-multiple-dw-op-addrx-locexpr.s
    M bolt/test/X86/dwarf5-split-dwarf4-monolithic.test
    M bolt/test/X86/dwarf5-two-loclists.test
    M bolt/test/X86/dwarf5-two-rnglists.test

  Log Message:
  -----------
  [BOLT][DWARF] Change rangelists to use DW_RLE_offset_pair

Before we always used DW_RLE_startx_length. This is not very efficient and leads
to bigger .debug_addr section. Changed it to use
DW_RLE_base_addressx/DW_RLE_offset_pair.

clang-16 build in debug mode
llvm-bolt ran on it with --update-debug-sections
| section | before | after | diff | % decrease |
| .debug_rnglists | 32732292 | 31986051 | -746241 | 2.3% |
| .debug_addr | 14415808 | 14184128 |  -231680 | 1.6% |

Reviewed By: maksfb

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




More information about the All-commits mailing list