[PATCH] D142654: [LiveDebugValues] Allow EntryValue with OP_deref expressions

Adrian Prantl via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 27 13:02:34 PST 2023


aprantl added a comment.

LGTM, but I agree with Djordje that we should also check that at least LLDB can support this. Maybe someone with access to GDB can comment with another data point.
It will be a fun project to mock up an unwinder in lldb/unittests/Expression/DWARFExpression test for this ;-)



================
Comment at: llvm/test/DebugInfo/MIR/X86/dbgcall-site-reference.mir:20
+# CHECK-NEXT: [0x0000000000000000, 0x0000000000000004): DW_OP_breg4 RSI+0
+# CHECK-NEXT: [0x0000000000000004, 0x000000000000000b): DW_OP_GNU_entry_value(DW_OP_reg4 RSI))
 # CHECK-NEXT: DW_AT_name    ("b")
----------------
This DWARF expression looked suspicious to me, but I think it's actually correct. IIUC, this will unwind the call stack push the value of reg4 onto the DWARF stack. Because the DWARF expression isn't a DW_OP_reg and also doesn't end with DW_OP_stack_value this is still a memory location.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D142654/new/

https://reviews.llvm.org/D142654



More information about the llvm-commits mailing list