[all-commits] [llvm/llvm-project] f71988: Add pre-commit test for LiveDebugVariables reorder...

David Stenberg via All-commits all-commits at lists.llvm.org
Tue Oct 15 02:37:04 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f719886e1aa0d09cab1298d22495cdacb2ed4b5f
      https://github.com/llvm/llvm-project/commit/f719886e1aa0d09cab1298d22495cdacb2ed4b5f
  Author: David Stenberg <david.stenberg at ericsson.com>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    A llvm/test/DebugInfo/Mips/livedebugvariables-reorder.mir

  Log Message:
  -----------
  Add pre-commit test for LiveDebugVariables reorder issue


  Commit: 97861981cccce546b37f56e3e99e68d37c7586c7
      https://github.com/llvm/llvm-project/commit/97861981cccce546b37f56e3e99e68d37c7586c7
  Author: David Stenberg <david.stenberg at ericsson.com>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugVariables.cpp
    M llvm/test/CodeGen/AMDGPU/debug-value2.ll
    M llvm/test/DebugInfo/MIR/Mips/livedebugvars-stop-trimming-loc.mir
    M llvm/test/DebugInfo/Mips/livedebugvariables-reorder.mir
    M llvm/test/DebugInfo/X86/live-debug-vars-discard-invalid.mir
    M llvm/test/DebugInfo/X86/sdag-salvage-add.ll

  Log Message:
  -----------
  [LiveDebugVariables] Fix a DBG_VALUE reordering issue (#111124)

LDV could reorder reinserted fragment and non-fragment debug values for
the same variable (compared to the input order), potentially resulting
in stale values being presented.

For example, before:

  DBG_VALUE 1001, $noreg, !13, !DIExpression(DW_OP_LLVM_fragment, 0, 16)
  DBG_VALUE 1002, $noreg, !13, !DIExpression(DW_OP_LLVM_fragment, 16, 16)
  DBG_VALUE %0, $noreg, !13, !DIExpression()

After (without this patch):

  DBG_VALUE %stack.0, 0, !13, !DIExpression()
  DBG_VALUE 1002, $noreg, !13, !DIExpression(DW_OP_LLVM_fragment, 16, 16)
  DBG_VALUE 1001, $noreg, !13, !DIExpression(DW_OP_LLVM_fragment, 0, 16)

It would also reorder DBG_VALUEs for different variables. Although that
does not matter for the debug information output, it resulted in some
noise in before/after pass diffs.

This should hopefully align so that instruction referencing and
DBG_VALUE emit debug instructions in the same order (see the
sdag-salvage-add.ll change).


Compare: https://github.com/llvm/llvm-project/compare/fe526ae99b42...97861981cccc

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list