[all-commits] [llvm/llvm-project] 884170: [CodeGen][DebugInfo] Append OP_deref when converti...

Felipe de Azevedo Piovezan via All-commits all-commits at lists.llvm.org
Wed Aug 23 09:25:42 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 88417098bb540b8e6b3533d2508dc0aa289ab6d3
      https://github.com/llvm/llvm-project/commit/88417098bb540b8e6b3533d2508dc0aa289ab6d3
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2023-08-23 (Wed, 23 Aug 2023)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/test/CodeGen/AArch64/dbg-declare-swift-async.ll
    M llvm/test/DebugInfo/AArch64/dbg-entry-value-swiftasync.mir

  Log Message:
  -----------
  [CodeGen][DebugInfo] Append OP_deref when converting an EntryValue dbg.declare

When we convert an EntryValue dbg.declare into an entry of the MF side table, we
currently copy its DIExpression as is, and rely on subsequent layers to "know"
that this expression is implicitly indirect. This is bad because it adds an
implicit assumption to the IR representation, and requires subsequent layers to
know about this assumption. This also limits the reusability of this table:
what if, in the future, we want to use this table for dbg.values?

This patch changes existing behavior so that the entities converting
dbg_declares explicitly add an OP_deref when converting EntryValue dbg.declares.

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




More information about the All-commits mailing list