<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Segoe UI";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.gmailmsg
        {mso-style-name:gmail_msg;}
span.m-5052909668081893217m7371312693763050375gmailmsg
        {mso-style-name:m_-5052909668081893217m_7371312693763050375gmail_msg;}
span.m-5052909668081893217hoenzb
        {mso-style-name:m_-5052909668081893217hoenzb;}
span.m-5052909668081893217m7371312693763050375m-6362168645962385504hoenzb
        {mso-style-name:m_-5052909668081893217m_7371312693763050375m_-6362168645962385504hoenzb;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>I think a hardcoded value of 1 for maximum_operations_per_instruction will work like it does today – 1 linetable entry per Hexagon packet, which may have 1-4 instructions in it. Hexagon executes 1 packet at a time, so anywhere from 1-4 instructions at once.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>At O0, the compiler doesn’t packetize instructions, so 1 instruction is run at a time. At 01 it will, but it doesn’t do many other optimizations. We should still have 1 line per packet. O2 and O3 can move instructions around, so will have up to 4 source lines in 1 packet. I think we’ll need to experiment internally with what that means for the debugger, once we get this change.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>--<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>Qualcomm Innovation Center, Inc.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'><o:p> </o:p></span></p><div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'> Eric Christopher [mailto:echristo@gmail.com] <br><b>Sent:</b> Wednesday, October 19, 2016 6:09 PM<br><b>To:</b> Tim Hammerquist <penryu@gmail.com><br><b>Cc:</b> Greg Clayton <gclayton@apple.com>; Ted Woodward <ted.woodward@codeaurora.org>; LLDB <lldb-dev@lists.llvm.org><br><b>Subject:</b> Re: [lldb-dev] llvm changing line table info from DWARF 2 to DWARF 4<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p><div><div><p class=MsoNormal>On Wed, Oct 19, 2016 at 3:34 PM Tim Hammerquist <<a href="mailto:penryu@gmail.com">penryu@gmail.com</a>> wrote:<o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><p class=MsoNormal>I was mistaken.<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>The system toolchain builds stage1 llvm, clang & co.<o:p></o:p></p></div></div><div><p class=MsoNormal>The system toolchain builds lldb containing the llvm/clang/etc bits.<o:p></o:p></p></div><div><p class=MsoNormal>The system toolchain builds gtest test programs. <o:p></o:p></p></div></div></blockquote><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><div><p class=MsoNormal>The stage1 compiler builds the python test inferiors.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div></div></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>OK, then it sounds like at least some of the test programs are built with the new compiler? IIRC the python test inferiors here are the programs that are the meat of the testsuite for lldb yes?<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>If so, then on check-in we should possibly see some difference on some bot if they all use the same general configuration.  I don't have a current checkout so I don't know if the default -g is used or if it's set to a different dwarf level. Currently it looks like clang will use dwarf4 by default with -g:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><div><p class=MsoNormal>echristo@dzur ~/tmp> ~/builds/build-llvm/bin/clang -c foo.c -o - -target x86_64-apple-macosx10.11 -g | llvm-dwarfdump - | grep version | grep -v clang<o:p></o:p></p></div><div><p class=MsoNormal>0x00000000: Compile Unit: length = 0x00000037 version = 0x0004 abbr_offset = 0x0000 addr_size = 0x08 (next unit at 0x0000003b)<o:p></o:p></p></div><div><p class=MsoNormal>         version: 2<o:p></o:p></p></div></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>where the first line is the debug_info header and the second is the version in the line table.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Ted/Greg: Relatedly, what brought this up was the vliw aspect with <span style='font-size:10.0pt;font-family:"Segoe UI",sans-serif'>maximum_operations_per_instruction - it's being hard coded to 1 here and I'm not sure how we want to deal </span>with that on hexagon? Currently it'll be hard set to 1 so line stepping will work as I imagine it currently does. That said, if we wanted to take advantage of it then that's different. Primarily I wasn't sure if Ted and folk had a debugger that did take advantage of it if it was there.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Thanks!<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>-eric<o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>On Wed, Oct 19, 2016 at 3:28 PM, Eric Christopher <span class=gmailmsg><<a href="mailto:echristo@gmail.com" target="_blank">echristo@gmail.com</a>></span> wrote:<o:p></o:p></p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p><div><div><p class=MsoNormal>On Wed, Oct 19, 2016 at 3:26 PM Tim Hammerquist <<a href="mailto:penryu@gmail.com" target="_blank">penryu@gmail.com</a>> wrote:<o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><div><p class=MsoNormal><span class=m-5052909668081893217m7371312693763050375gmailmsg><span style='font-size:9.5pt'>The LLDB job in </span></span><a href="http://llvm.org/" target="_blank"><span style='font-size:9.5pt'>llvm.org</span></a><span class=m-5052909668081893217m7371312693763050375gmailmsg><span style='font-size:9.5pt'> will build a stage1 RA with llvm+clang+libcxx+compiler-rt using the system compiler, and use the new compiler to build lldb.</span></span><o:p></o:p></p><div><p class=MsoNormal><span style='font-size:9.5pt'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span class=m-5052909668081893217m7371312693763050375gmailmsg><span style='font-size:9.5pt'>By default, this is kicked off automatically when a clang stage1 RA is successful, but can be manually triggered to build HEAD, or any revision desired.</span></span><span style='font-size:9.5pt'><o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.5pt'><o:p> </o:p></span></p></div></div></div><div><div><div><p class=MsoNormal><span style='font-size:9.5pt'>The python test suite (invoked with the xcodebuild target lldb-python-test-suite) uses the newly built compiler to build its test programs.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.5pt'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span class=m-5052909668081893217m7371312693763050375gmailmsg><span style='font-size:9.5pt'><a href="http://lab.llvm.org:8080/green/job/lldb_build_test/21202/consoleFull#console-section-4" target="_blank">http://lab.llvm.org:8080/green/job/lldb_build_test/21202/consoleFull#console-section-4</a></span></span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-size:9.5pt'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.5pt'>However, the gtest suite (target lldb-gtest) uses the system (Xcode toolchain) compiler to build test programs.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.5pt'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span class=m-5052909668081893217m7371312693763050375gmailmsg><span style='font-size:9.5pt'><a href="http://lab.llvm.org:8080/green/job/lldb_build_test/21202/artifact/lldb/test_output.zip" target="_blank">http://lab.llvm.org:8080/green/job/lldb_build_test/21202/artifact/lldb/test_output.zip</a></span></span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-size:9.5pt'><o:p> </o:p></span></p></div></div></div></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>This seems like something that should be fixed :)<o:p></o:p></p></div><div><p class=MsoNormal><span style='color:#888888'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='color:#888888'>-eric<o:p></o:p></span></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><div><div><p class=MsoNormal><span style='font-size:9.5pt'><o:p> </o:p></span></p></div></div><div><p class=MsoNormal><span style='font-size:9.5pt'>-Tim<o:p></o:p></span></p></div></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><div><p class=MsoNormal>On Wed, Oct 19, 2016 at 2:36 PM, Eric Christopher <span class=m-5052909668081893217m7371312693763050375gmailmsg><<a href="mailto:echristo@gmail.com" target="_blank">echristo@gmail.com</a>></span> wrote:<o:p></o:p></p></div></div><div><div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><p class=MsoNormal>From chatting with Tim it sounds like at least one lldb bot uses the ToT compiler - we should probably verify that not only does it use that to build lldb but uses it for the tests. That'll get us at least some testing here.<span class=m-5052909668081893217m7371312693763050375m-6362168645962385504hoenzb><span style='color:#888888'><o:p></o:p></span></span></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=m-5052909668081893217m7371312693763050375m-6362168645962385504hoenzb><span style='color:#888888'>-eric</span></span><o:p></o:p></p><div><div><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p><div><div><p class=MsoNormal>On Wed, Oct 19, 2016 at 12:55 PM Greg Clayton via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a>> wrote:<o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><p class=MsoNormal>I believe we are good, but it would be good to verify via testing once a compiler becomes available.<br><br>Greg<br><br>> On Oct 19, 2016, at 12:19 PM, Ted Woodward via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a>> wrote:<br>><br>> This might affect us. Do we handle it correctly?<br>><br>> <a href="https://reviews.llvm.org/D16697" target="_blank">https://reviews.llvm.org/D16697</a><br>><br>> --<br>> Qualcomm Innovation Center, Inc.<br>> The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project<br>><br>> _______________________________________________<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="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</a><br><br>_______________________________________________<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="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</a><o:p></o:p></p></blockquote></div></div></div></div></div></blockquote></div></div><div><p class=MsoNormal><br><br clear=all><o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal>-- <o:p></o:p></p><div><p class=MsoNormal>Tim <<a href="mailto:penryu@gmail.com" target="_blank">penryu@gmail.com</a>><o:p></o:p></p></div></div></blockquote></div></div></blockquote></div><p class=MsoNormal><br><br clear=all><o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div></div><div><p class=MsoNormal>-- <o:p></o:p></p><div><p class=MsoNormal>Tim <<a href="mailto:penryu@gmail.com" target="_blank">penryu@gmail.com</a>><o:p></o:p></p></div></div></blockquote></div></div></div></div></body></html>