[all-commits] [llvm/llvm-project] 6d1690: [DebugInfo] Add function to test debug values for ...

Stephen Tozer via All-commits all-commits at lists.llvm.org
Mon Dec 19 09:18:17 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6d169089f64c2be5b5107a8efd0e7ac614b50f71
      https://github.com/llvm/llvm-project/commit/6d169089f64c2be5b5107a8efd0e7ac614b50f71
  Author: Stephen Tozer <Stephen.Tozer at sony.com>
  Date:   2022-12-19 (Mon, 19 Dec 2022)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
    M llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/IR/DebugInfoMetadata.cpp
    A llvm/test/DebugInfo/Generic/merge-equivalent-ranges.ll
    M llvm/unittests/IR/MetadataTest.cpp

  Log Message:
  -----------
  [DebugInfo] Add function to test debug values for equivalence

This patch adds a new function that can be used to check all the
properties, other than the machine values, of a pair of debug values for
equivalence. This is done by folding the "directness" into the
expression, converting the expression to variadic form if it is not
already in that form, and then comparing directly. In a few places which
check whether two debug values are identical to see if their ranges can
be merged, this function will correctly identify cases where two debug
values are expressed differently but have the same meaning, allowing
those ranges to be correctly merged.

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




More information about the All-commits mailing list