[all-commits] [llvm/llvm-project] 75f770: [BOLT][DWARF] Update handling of size 1 ranges and...

Alexander Yermolovich via All-commits all-commits at lists.llvm.org
Sun Jul 30 17:33:20 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 75f770a68f70498f0b5229597f70dd8204c66e7c
      https://github.com/llvm/llvm-project/commit/75f770a68f70498f0b5229597f70dd8204c66e7c
  Author: Alexander Yermolovich <ayermolo at meta.com>
  Date:   2023-07-30 (Sun, 30 Jul 2023)

  Changed paths:
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/test/AArch64/go_dwarf.test
    A bolt/test/X86/Inputs/debug-fission-simple-convert.s
    A bolt/test/X86/Inputs/dwarf4-df-do-no-convert-low-pc-high-pc-to-ranges.s
    A bolt/test/X86/Inputs/dwarf4-do-no-convert-low-pc-high-pc-to-ranges.s
    A bolt/test/X86/Inputs/dwarf4-subprogram-multiple-ranges-main.s
    A bolt/test/X86/Inputs/dwarf4-subprogram-single-gc-ranges-main.s
    A bolt/test/X86/Inputs/dwarf4-subprogram-single-ranges-main.s
    A bolt/test/X86/Inputs/dwarf5-do-no-convert-low-pc-high-pc-to-ranges.s
    A bolt/test/X86/Inputs/dwarf5-subprogram-multiple-ranges-main.s
    A bolt/test/X86/Inputs/dwarf5-subprogram-single-gc-ranges-main.s
    A bolt/test/X86/Inputs/dwarf5-subprogram-single-ranges-main.s
    A bolt/test/X86/debug-fission-single-convert.s
    M bolt/test/X86/debug-fission-single.s
    A bolt/test/X86/dwarf4-df-do-no-convert-low-pc-high-pc-to-ranges.test
    M bolt/test/X86/dwarf4-df-dualcu-loclist.test
    M bolt/test/X86/dwarf4-df-dualcu.test
    A bolt/test/X86/dwarf4-do-no-convert-low-pc-high-pc-to-ranges.test
    M bolt/test/X86/dwarf4-size-0-inlined_subroutine.s
    A bolt/test/X86/dwarf4-subprogram-multiple-ranges.test
    A bolt/test/X86/dwarf4-subprogram-single-gc-ranges.test
    A bolt/test/X86/dwarf4-subprogram-single-ranges.test
    M bolt/test/X86/dwarf4-types-dwarf5-types.test
    M bolt/test/X86/dwarf4-types-dwarf5.test
    M bolt/test/X86/dwarf5-df-dualcu-loclist.test
    M bolt/test/X86/dwarf5-df-dualcu.test
    M bolt/test/X86/dwarf5-df-mono-dualcu.test
    A bolt/test/X86/dwarf5-do-no-convert-low-pc-high-pc-to-ranges.test
    M bolt/test/X86/dwarf5-dwarf4-gdb-index-types-gdb-generated-gdb11.test
    M bolt/test/X86/dwarf5-dwarf4-gdb-index-types-gdb-generated-gdb9.test
    M bolt/test/X86/dwarf5-dwarf4-gdb-index-types-lld-generated.test
    M bolt/test/X86/dwarf5-dwarf4-monolithic.test
    M bolt/test/X86/dwarf5-dwarf4-types-backward-forward-cross-reference.test
    M bolt/test/X86/dwarf5-ftypes-dwo-mono-input-dwp-output.test
    M bolt/test/X86/dwarf5-gdb-index-types-gdb-generated-gdb11.test
    M bolt/test/X86/dwarf5-gdb-index-types-gdb-generated-gdb9.test
    M bolt/test/X86/dwarf5-gdb-index-types-lld-generated.test
    M bolt/test/X86/dwarf5-locaddrx.test
    M bolt/test/X86/dwarf5-locexpr-referrence.test
    M bolt/test/X86/dwarf5-lowpc-highpc-convert.s
    M bolt/test/X86/dwarf5-one-loclists-two-bases.test
    M bolt/test/X86/dwarf5-rangeoffset-to-rangeindex.s
    M bolt/test/X86/dwarf5-split-dwarf4-monolithic.test
    A bolt/test/X86/dwarf5-subprogram-multiple-ranges.test
    A bolt/test/X86/dwarf5-subprogram-single-gc-ranges.test
    A bolt/test/X86/dwarf5-subprogram-single-ranges.test
    M bolt/test/X86/dwarf5-two-loclists.test
    M bolt/test/X86/dwarf5-two-rnglists.test
    M bolt/test/X86/dwarf5-types-backward-cross-reference.s
    M bolt/test/X86/dwarf5-types-forward-cross-reference.s
    M bolt/test/X86/gdbindex.test

  Log Message:
  -----------
  [BOLT][DWARF] Update handling of size 1 ranges and fix sub-programs with ranges

When output range is only one entry, and input is low_pc/high_pc do not convert
to ranges. This helps with size of .debug_ranges/.debug_rnglists. It also helps
when either low_pc/high_pc is 0. We not generating potentially invalid ranges
that result in LLDB error.

Also fixed handling of DW_AT_subprogram with ranges. This can be created with
-fbasic-block-sections=all.

Reviewed By: maksfb

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




More information about the All-commits mailing list