<div dir="ltr">Hello Paul,<div><br></div><div>Thank you for your reply. I have some more questions inlined below.</div><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_6442627602245046786m_-4631894732801321878WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">The assignment of stack locations or physical registers is done very late, so in earlier phases these locations simply don't exist yet. </span></p></div></div></blockquote><div><br></div><div>Can you define more precisely "very late"? I guess it is in the register allocation phase in the backend?</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_6442627602245046786m_-4631894732801321878WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> The location/value
 would be an IR value. </span></p></div></div></blockquote><div><br></div><div>But then again, how can it be an IR value? There's no IR value in the backend isn't it?</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_6442627602245046786m_-4631894732801321878WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> 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.</span></p></div></div></blockquote><div><br></div><div>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.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_6442627602245046786m_-4631894732801321878WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Hope this helps,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">--paulr<u></u><u></u></span></p>
<p class="MsoNormal"><a name="m_6442627602245046786_m_-4631894732801321878__MailEndCompose"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> </span></a></p><div style="border-style:none none none solid;border-left-width:1.5pt;border-left-color:blue;padding:0in 0in 0in 4pt"><div><div class="gmail-m_6442627602245046786h5"><div><div><div><div><div>
</div>
</div>
</div>
</div>
</div>
</div></div></div>
</div>
</div>

</blockquote></div>Thank you again for your help,</div><div class="gmail_extra"><br></div>Son Tuan Vu</div>