[all-commits] [llvm/llvm-project] d2a4d6: [DebugInfo][llvm-dwarfutil] Combine overlapped add...

avl-llvm via All-commits all-commits at lists.llvm.org
Thu Jul 21 03:16:29 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d2a4d6bf9c52861f3d418bf7bb7d05f6e74dfead
      https://github.com/llvm/llvm-project/commit/d2a4d6bf9c52861f3d418bf7bb7d05f6e74dfead
  Author: Alexey Lapshin <a.v.lapshin at mail.ru>
  Date:   2022-07-21 (Thu, 21 Jul 2022)

  Changed paths:
    M llvm/include/llvm/ADT/AddressRanges.h
    M llvm/include/llvm/DWARFLinker/DWARFLinker.h
    M llvm/include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h
    M llvm/include/llvm/DWARFLinker/DWARFStreamer.h
    M llvm/lib/DWARFLinker/DWARFLinker.cpp
    M llvm/lib/DWARFLinker/DWARFLinkerCompileUnit.cpp
    M llvm/lib/DWARFLinker/DWARFStreamer.cpp
    M llvm/lib/Support/AddressRanges.cpp
    A llvm/test/tools/llvm-dwarfutil/ELF/gc-func-overlapping-address-ranges.test
    A llvm/test/tools/llvm-dwarfutil/ELF/gc-unit-overlapping-address-ranges.test
    M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
    M llvm/tools/dsymutil/DwarfLinkerForBinary.h
    M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp
    M llvm/unittests/Support/AddressRangeTest.cpp

  Log Message:
  -----------
  [DebugInfo][llvm-dwarfutil] Combine overlapped address ranges.

DWARF files may contain overlapping address ranges. f.e. it can happen if the two
copies of the function have identical instruction sequences and they end up sharing.
That looks incorrect from the point of view of DWARF spec. Current implementation
of DWARFLinker does not combine overlapped address ranges. It would be good if such
ranges would be handled in some useful way. Thus, this patch allows DWARFLinker
to combine overlapped ranges in a single one.

Depends on D86539

Reviewed By: aprantl

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




More information about the All-commits mailing list