[PATCH] D59687: [DebugInfo] Prologue inserter need to insert DW_OP_deref_size
Markus Lavin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 18 02:44:32 PDT 2019
markus added a comment.
> ! In D59687#1468571 <https://reviews.llvm.org/D59687#1468571>, @probinson wrote:
> It sounds like you're trying to do this with aggregate types, and that won't work. Only base types (for DWARF 5) or address-like types (for DWARF <= 4) should end up on the stack.
Yes, but it is not intentional.
I guess that I did not consider that we could enter this place with a aggregate type object and an expression like `!DIExpression(DW_OP_plus_uconst, 56, DW_OP_stack_value)` ending with a `DW_OP_stack_value`.
I wonder what kind of source code that corresponds to, something that takes the address 56 bytes into a aggregate? So maybe something like this.
struct S {
char bar[1024];
}
void foo(S s) {
char *p = &s.bar[56];
...
}
Having a bit of hard time minimizing the Chromium failure to something useful.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D59687/new/
https://reviews.llvm.org/D59687
More information about the llvm-commits
mailing list