[all-commits] [llvm/llvm-project] c9e8e9: [BOLT][DWARF] Fix out of order rangelists/loclists...

Alexander Yermolovich via All-commits all-commits at lists.llvm.org
Wed Feb 14 11:24:09 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c9e8e91acae73c84a30311c6c745361251cf5146
      https://github.com/llvm/llvm-project/commit/c9e8e91acae73c84a30311c6c745361251cf5146
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M bolt/lib/Core/DebugData.cpp
    A bolt/test/X86/dwarf5-loclist-out-of-order.s

  Log Message:
  -----------
  [BOLT][DWARF] Fix out of order rangelists/loclists (#81645)

GCC can generate rangelists/loclists that are out of order. Fixed so
that we don't assert, and instead generate partially optimized list.
Through most code paths we do sort rnglists/loclists, but not for
loclist for a path where BOLT does not modify a function. Although it's
nice to have lists sorted, this implementation shouldn't rely on it.
This also fixes an issue if we partially capture a list we would write
out *end_of_list in helper function. So tools won't see the rest of the
addresses being written out.




More information about the All-commits mailing list