<div dir="ltr"><div dir="ltr">Tom Weaver will answer the councils call!<div><br></div><div>count me in, can't wait to have a good chin wag (talk for our non brit brethren) about debug info and it's many faceted forms.</div><div><br></div><div>I somewhat agree with Paul's concern about discussing everything, but we can make a judgement call on the day about what we wish to focus on the most.</div><div><br></div><div>thanks for sorting this out Orlando, looking forward to it.</div><div><br></div><div>Tom W</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 24 Sep 2020 at 09:00, Cazalet-Hyams, Orlando via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org">lldb-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div lang="EN-GB">
<div class="gmail-m_-1783839362130641439WordSection1">
<p class="MsoNormal"><span>Forwarding to lldb-dev now that I’ve signed up.<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<div>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> llvm-dev <<a href="mailto:llvm-dev-bounces@lists.llvm.org" target="_blank">llvm-dev-bounces@lists.llvm.org</a>>
<b>On Behalf Of </b>Cazalet-Hyams, Orlando via llvm-dev<br>
<b>Sent:</b> 24 September 2020 08:54<br>
<b>To:</b> Robinson, Paul <<a href="mailto:paul.robinson@sony.com" target="_blank">paul.robinson@sony.com</a>>; Eric Christopher <<a href="mailto:echristo@gmail.com" target="_blank">echristo@gmail.com</a>>; LLDB Dev <<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a>>; '<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>' <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>><br>
<b>Subject:</b> Re: [llvm-dev] Optimised-code debugging experience Round Table<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Hi Paul, Eric, lists,<u></u><u></u></p>
<p class="MsoNormal"><br>
FWIW I agree with Paul here. Given the limited time available for the discussions I think it makes sense to split up the conversations to keep them focused. Though, it'd be good to coordinate non-overlapping time slots. As you say, it is likely that people
(including me) would want to attend more than one of these.<u></u><u></u></p>
<p class="MsoNormal" style="margin-bottom:12pt"><br>
Saying that, I've only had 3 people outside of Sony express an interest in the Round Table that I proposed. At this rate we may not have the requisite numbers to split. Of course, if that number is indicative of actual turn out then we won't need to split anyway,
but I suspect that there will be more attendees on the day.<u></u><u></u></p>
<p class="MsoNormal">We must also remember that the Round Table submission deadline is tomorrow (tonight?). Unless more people express an interest very soon, I think we might need to fall back onto the single Round Table.<u></u><u></u></p>
<p class="MsoNormal"><span><br>
Thanks,<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-bottom:12pt"><span>Orlando<u></u><u></u></span></p>
<div>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> Robinson, Paul <<a href="mailto:paul.robinson@sony.com" target="_blank">paul.robinson@sony.com</a>>
<br>
<b>Sent:</b> 23 September 2020 15:21<br>
<b>To:</b> Eric Christopher <<a href="mailto:echristo@gmail.com" target="_blank">echristo@gmail.com</a>>; Cazalet-Hyams, Orlando <<a href="mailto:orlando.hyams@sony.com" target="_blank">orlando.hyams@sony.com</a>>; LLDB Dev <<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a>>;
'<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>' <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>><br>
<b>Subject:</b> RE: [llvm-dev] Optimised-code debugging experience Round Table<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span lang="EN-US">Hi Eric & Orlando,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">It’s great to see interest in a lot of different aspects of debug info. At the same time, I’m concerned about a risk to making the topic so broad that we don’t have time to get through all the things people want to get
through. I’m thinking there’s a different way to slice the topics, hopefully without much overlap, but that will allow a bit more focus. No doubt a lot of the same people would be interested in multiple slices, but by limiting the scope of each conversation
I’m hoping we’ll get more accomplished. I daresay a lot of people interested in debug-info quality in general might totally tune out a DWARF-nerd discussion
</span><span lang="EN-US" style="font-family:"Segoe UI Emoji",sans-serif">😊</span><span lang="EN-US">
<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">The slicing could be something like this:<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<ol style="margin-top:0cm" start="1" type="1">
<li class="gmail-m_-1783839362130641439MsoListParagraph" style="margin-left:0cm"><span lang="EN-US">Getting LLVM to do a better job of tracking info internally, so what gets emitted in the end is more representative of the original program. This should improve
the debugging experience by letting the debugger do a better job of mapping the executing program to the original source, because the data it works with is more accurate/complete.<u></u><u></u></span></li><ol style="margin-top:0cm" start="1" type="a">
<li class="gmail-m_-1783839362130641439MsoListParagraph" style="margin-left:0cm"><span lang="EN-US">This is basically about IR/Metadata handling and representation, although it might leak into things like the “is_stmt” flag, and doing better with “prologue_end,”
which are currently handled by AsmPrinter.<u></u><u></u></span></li><li class="gmail-m_-1783839362130641439MsoListParagraph" style="margin-left:0cm"><span lang="EN-US">Better handling of induction variables, entry-values, variables with multiple locations, etc.<u></u><u></u></span></li></ol>
<li class="gmail-m_-1783839362130641439MsoListParagraph" style="margin-left:0cm"><span lang="EN-US">Changes to optimization passes/pipelines and codegen, to avoid borking the source-location and value/variable tracking; again this should improve the debugging experience
by letting the debugger do a better job of mapping the executing program back to the original source, because that mapping is simpler.<u></u><u></u></span></li><ol style="margin-top:0cm" start="1" type="a">
<li class="gmail-m_-1783839362130641439MsoListParagraph" style="margin-left:0cm"><span lang="EN-US">This is basically about IR/MIR transforms, and is where an Og/O1 kind of topic would fit.<u></u><u></u></span></li><li class="gmail-m_-1783839362130641439MsoListParagraph" style="margin-left:0cm"><span lang="EN-US">Also things like extended lifetimes, limiting code motion/duplication, etc.<u></u><u></u></span></li></ol>
<li class="gmail-m_-1783839362130641439MsoListParagraph" style="margin-left:0cm"><span lang="EN-US">Changing the DWARF spec itself to improve the completeness and efficiency of the information it contains. This should improve the debugging experience by making
the DWARF itself a richer information source, to the extent that it can describe more of what happened to the original program; also hopefully any efficiency improvements will allow the debugger to be more responsive.<u></u><u></u></span></li><ol style="margin-top:0cm" start="1" type="a">
<li class="gmail-m_-1783839362130641439MsoListParagraph" style="margin-left:0cm"><span lang="EN-US">This is obviously about DWARF itself, although to some extent how we go about generating it.<u></u><u></u></span></li><li class="gmail-m_-1783839362130641439MsoListParagraph" style="margin-left:0cm"><span lang="EN-US">Take better advantage of ranges and the .debug_addr table. dblaikie and clayborg have put up ideas about this.<u></u><u></u></span></li><li class="gmail-m_-1783839362130641439MsoListParagraph" style="margin-left:0cm"><span lang="EN-US">Figure out a way to allow tracking multiple source locations for an individual instruction. Right now we mostly give up and set locations to line-0 when this happens.<u></u><u></u></span></li><li class="gmail-m_-1783839362130641439MsoListParagraph" style="margin-left:0cm"><span lang="EN-US">Understand the competing needs of profiling and debugging consumers, and see what might be doable there. (Although this might be tough enough to be its own topic.)<u></u><u></u></span></li></ol>
<li class="gmail-m_-1783839362130641439MsoListParagraph" style="margin-left:0cm"><span lang="EN-US">Debug-info testing/validation. How do we decide what is “correct”?
<u></u><u></u></span></li><ol style="margin-top:0cm" start="1" type="a">
<li class="gmail-m_-1783839362130641439MsoListParagraph" style="margin-left:0cm"><span lang="EN-US">What are the tools we have, what are they good/bad at, what’s missing?<u></u><u></u></span></li></ol>
</ol>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I hear that round-tables can be proposed for either ~half hour or ~full hour, so with more focused topics we might rather have shorter sessions?
<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Thanks,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">--paulr<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<div style="border-top:none;border-right:none;border-bottom:none;border-left:1.5pt solid blue;padding:0cm 0cm 0cm 4pt">
<div>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> llvm-dev <<a href="mailto:llvm-dev-bounces@lists.llvm.org" target="_blank">llvm-dev-bounces@lists.llvm.org</a>>
<b>On Behalf Of </b>Eric Christopher via llvm-dev<br>
<b>Sent:</b> Tuesday, September 22, 2020 2:42 PM<br>
<b>To:</b> Cazalet-Hyams, Orlando <<a href="mailto:orlando.hyams@sony.com" target="_blank">orlando.hyams@sony.com</a>>; LLDB Dev <<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a>><br>
<b>Cc:</b> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<b>Subject:</b> Re: [llvm-dev] Optimised-code debugging experience Round Table<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US"><a href="mailto:lldb-dev@lists.llvm.org" target="_blank">+LLDB Dev</a> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
<p class="MsoNormal"><span lang="EN-US">I'll sign up. :)<u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">My particular interests are:<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">- Og (and O1 as Og)<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">- Correctness testing tools<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">Past that the rest of your list seems quite specific, but the overall "line tables" and "variable locations" are important.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">Relatedly we have a number of DWARF committee members in llvm and another possible discussion area could be: "what extensions do debug info consumers think should happen to make dwarf a better input into debugging".<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">Thanks.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">-eric<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US">On Tue, Sep 22, 2020 at 8:43 AM Cazalet-Hyams, Orlando via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<u></u><u></u></span></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0cm 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal">Hi all,<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">I haven't seen a proposal for an optimised-code debugging experience Round Table yet so here goes!<u></u><u></u></p>
<p class="MsoNormal">Please let me know if you are interested by emailing me at:<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">
<a href="mailto:orlando.hyams@sony.com" target="_blank">orlando.hyams@sony.com</a><u></u><u></u></p>
<p class="MsoNormal">
<u></u><u></u></p>
<p class="MsoNormal">Below is a non-exhaustive list of possible topics. Feel free to include any preferences and<u></u><u></u></p>
<p class="MsoNormal">suggestions in your response.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"> a. Line tables:<u></u><u></u></p>
<p class="MsoNormal"> 1. Can we fix is_stmt?<u></u><u></u></p>
<p class="MsoNormal"> 2. Is prologue_end reliable?<u></u><u></u></p>
<p class="MsoNormal"> 3. General stepping behaviour/quality.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"> b. Variable locations:<u></u><u></u></p>
<p class="MsoNormal"> 1. The state of DW_OP_entry_values in llvm.<u></u><u></u></p>
<p class="MsoNormal"> 2. The state of the instruction-referencing DBG_VALUE work.<u></u><u></u></p>
<p class="MsoNormal"> 3. The state of multi-register DWARF expressions in llvm.<u></u><u></u></p>
<p class="MsoNormal"> 4. The possibility of salvaging out-of-liveness values using the 3 projects mentioned above.<u></u><u></u></p>
<p class="MsoNormal"> 5. Floating point debug-info quality in llvm.<u></u><u></u></p>
<p class="MsoNormal"> 6. Loop induction variable locations.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"> c. Testing debug-info:<u></u><u></u></p>
<p class="MsoNormal"> 1. Variable correctness testing tools.<u></u><u></u></p>
<p class="MsoNormal"> 2. Location coverage testing tools.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"> d. The state of -Og.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Please respond before Friday (25th) if you are interested as that is the submission deadline.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
<p class="MsoNormal">Orlando<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US">_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://urldefense.com/v3/__https:/lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev__;!!JmoZiZGBv3RvKRSx!qZNIykNGKyisLnvZ4ZEA_BQPbabOTQucziiEgm1DmJ154Z_DBQc8k6R5JENTM2Ewyg$" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><u></u><u></u></span></p>
</blockquote>
</div>
</div>
</div>
</div>
_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</a><br>
</blockquote></div></div>