[all-commits] [llvm/llvm-project] b66b17: Emit DW_RLE_base_addressx + DW_RLE_offset_pairs
Shubham Sandeep Rastogi via All-commits
all-commits at lists.llvm.org
Tue Jul 25 16:18:21 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b66b176dc37e6d5d9b777ed1a412672e96341352
https://github.com/llvm/llvm-project/commit/b66b176dc37e6d5d9b777ed1a412672e96341352
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2023-07-25 (Tue, 25 Jul 2023)
Changed paths:
M llvm/include/llvm/DWARFLinker/DWARFLinker.h
M llvm/include/llvm/DWARFLinker/DWARFStreamer.h
M llvm/lib/DWARFLinker/DWARFLinker.cpp
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-rnglists.test
M llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-rnglists.test
Log Message:
-----------
Emit DW_RLE_base_addressx + DW_RLE_offset_pairs
instead of DW_ELE_start_length in debug_rnglists section
This patch tries to reduce the size of the debug_rnglist section by
replacing the DW_RLE_start_length opcodes currently emitted by dsymutil
in favor of using DW_RLE_base_addressx + DW_RLE_offset_pair instead.
The DW_RLE_start_length is one AddressSize followed by a ULEB per entry,
whereas, the DW_RLE_base_addressx + DW_RLE_offset_pair will use one ULEB
for the base address, and then the DW_RLE_offset_pair is a pair of
ULEBs. This will be more efficient.
Differential Revision: https://reviews.llvm.org/D156166
More information about the All-commits
mailing list