[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