[llvm-dev] Variable tracking in debug info
Son Tuan VU via llvm-dev
llvm-dev at lists.llvm.org
Wed Mar 21 08:36:07 PDT 2018
Hello Paul,
Thank you for your reply. I have some more questions inlined below.
> The assignment of stack locations or physical registers is done very late,
> so in earlier phases these locations simply don't exist yet.
>
Can you define more precisely "very late"? I guess it is in the register
allocation phase in the backend?
The location/value would be an IR value.
>
But then again, how can it be an IR value? There's no IR value in the
backend isn't it?
> But it sounds like you are mostly interested in making sure the
> information isn't dropped, and you can do that by looking at all of the
> dbg.value or DBG_VALUE instructions.
>
Yes this is exactly what I am looking for: ensure that we still have the
location information after each optimization pass. And if a pass does drop
the information, remove it from the pipeline. I guess this would be a first
step towards building a -Og pipeline. Of course, if the variable is
optimized out, all we need in the binary is just a Dwarf DIE with the
declaration line to show that it exists in the source code, which is
already done by LLVM.
Hope this helps,
>
> --paulr
>
>
>
Thank you again for your help,
Son Tuan Vu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180321/119a6bf6/attachment-0001.html>
More information about the llvm-dev
mailing list