[PATCH] D75270: [DebugInfo] Do not emit entry values for composite locations
Vedant Kumar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 27 17:15:21 PST 2020
vsk accepted this revision.
vsk added a comment.
This revision is now accepted and ready to land.
Fixing the assertion failure in this way sgtm. Re:
DW_OP_entry_value(DW_OP_regx sub_reg0), DW_OP_stack_value, DW_OP_piece 8, DW_OP_entry_value(DW_OP_regx sub_reg1), DW_OP_stack_value, DW_OP_piece 8, ...
It sounds like you expect debuggers to have some difficulty handling this expression. How come? I didn't understand this part.
My lack of familiarity with DWARF is showing now, but would `DW_OP_entry_value(DW_OP_regx sub_reg0, DW_OP_piece 8, DW_OP_regx sub_reg1, DW_OP_piece 8)` be valid (sorry if I've left out any necessary OP_stack_values).
> The question then becomes how the call site should look; should a
> composite location description be emitted there, and we then leave it up
> to the debugger to match those two composite location descriptions?
This seems reasonable to me, but I feel like I'm missing something here..
> Another alternative could be to emit a call site parameter entry for
> each sub-register,
I believe this would complicate the debugger support significantly, hopefully there's a simpler way to do this. Right now lldb just does a 'memcmp' to figure out whether to use an entry value. If there were a separate call site parameter entry for each subregister in the caller that forms a register used in the callee, that would have to change into a more complicated merging operation.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D75270/new/
https://reviews.llvm.org/D75270
More information about the llvm-commits
mailing list