[all-commits] [llvm/llvm-project] b2cf02: [DebugInfo][CSInfo] Don't use clobbered registers ...

Jeremy Morse via All-commits all-commits at lists.llvm.org
Mon Jan 23 04:21:26 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b2cf024280b30692ac3e4720eb7c541e6ef7449f
      https://github.com/llvm/llvm-project/commit/b2cf024280b30692ac3e4720eb7c541e6ef7449f
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-01-23 (Mon, 23 Jan 2023)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    A llvm/test/DebugInfo/MIR/X86/dbgcall-site-clobbered-regs.mir

  Log Message:
  -----------
  [DebugInfo][CSInfo] Don't use clobbered registers as locations

When finding call-site argument locations, don't consider registers to be
location candidates if they will be clobbered between the copy to/from them
and call site. Doing so would present overwritten register values as entry
values in called functions.

This patch adds a collection of register units defined as we walk back from
the call site, and prevents the acceptance of a call-site parameter
location if it will be clobbered on that path.

Fixes https://github.com/llvm/llvm-project/issues/57444

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




More information about the All-commits mailing list