[all-commits] [llvm/llvm-project] f753e5: [LiveDebugValues] Allow EntryValue with OP_deref e...

Felipe de Azevedo Piovezan via All-commits all-commits at lists.llvm.org
Tue Jan 31 06:43:24 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f753e5be823925cf7c04cc51f519624415c995c4
      https://github.com/llvm/llvm-project/commit/f753e5be823925cf7c04cc51f519624415c995c4
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2023-01-31 (Tue, 31 Jan 2023)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
    M llvm/test/DebugInfo/MIR/X86/dbgcall-site-reference.mir

  Log Message:
  -----------
  [LiveDebugValues] Allow EntryValue with OP_deref expressions

With D68945, more DBG_VALUEs were created without the indirect operand,
instead relying on OP_deref to accomplish the same effect.

At the time, however, we were not able to handle arbitrary expressions
in combination with OP_LLVM_entry_value, so D71416 prevented the use of
such operation in the presence of expressions.

As per the comment in DIExpression::isValid, "we support only entry
values of a simple register location." As such, a simple deref operation
should be supported. In fact, D80345 added support for indirect
DBG_VALUEs.

Taken the patches above into consideration, this commit relaxes the
restrictions on which expressions are allowed for entry value
candidates: the expression must be either empty or a single dereference
operator.

This patch is useful for D141381, which adds support for storing the
address of ABI-indirect parameters on the stack.

Depends on D142160

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




More information about the All-commits mailing list