<div class="gmail_extra"><div class="gmail_quote">On Mon, Sep 24, 2012 at 3:41 AM, David Tweed <span dir="ltr"><<a href="mailto:david.tweed@arm.com" target="_blank" class="cremed">david.tweed@arm.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-GB" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Just a note that the following new regressions have started to show up on ARM/Linux:</span></p>
</div></div></blockquote><div><br></div><div>Thanks for letting me know!</div><div><br></div><div>I know that there is one serious bug that would impact in BE system. I should have that fixed today, along with a crasher. I would appreciate help tracking down any issues once the one I know of is fixed though.</div>
<div><br></div><div>If this is cause problems for anyone, you can disable it with a flag, or we can temporarily turn it back off. I'm expecting to have most of the issues folks have reported fixed today though.</div><div>
 </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-GB" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">    LLVM :: Bitcode/blockaddress.ll<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">    LLVM :: CodeGen/ARM/fast-isel.ll<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">    LLVM :: CodeGen/X86/atomic16.ll<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">    LLVM :: MC/ARM/arm-shift-encoding.s<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">    LLVM :: MC/ARM/thumb-shift-encoding.s<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">    LLVM :: MC/COFF/global_ctors_dtors.ll<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">    LLVM :: Transforms/InstCombine/div-shift.ll<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">    LLVM :: Transforms/LoopIdiom/non-canonical-loop.ll<u></u><u></u></span></p><p class="MsoNormal">
<span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">    LLVM :: Transforms/SROA/basictest.ll<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">    LLVM :: Transforms/SROA/phi-and-select.ll<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">I haven't yet looked at them in detail, and obviously on the last two clearly involve SROA, but given that these tests haven't started to fail (or at least been fixed before I noticed) on my x86 machine I thought it worth reporting.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Cheers,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">David<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0cm 0cm 0cm"><p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> <a href="mailto:llvmdev-bounces@cs.uiuc.edu" target="_blank" class="cremed">llvmdev-bounces@cs.uiuc.edu</a> [mailto:<a href="mailto:llvmdev-bounces@cs.uiuc.edu" target="_blank" class="cremed">llvmdev-bounces@cs.uiuc.edu</a>] <b>On Behalf Of </b>Chandler Carruth<br>
<b>Sent:</b> 22 September 2012 20:09<br><b>To:</b> LLVM Developers Mailing List<br><b>Subject:</b> [LLVMdev] Heads up! New SROA implementation is going on-by-default today!<u></u><u></u></span></p></div><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">After a lot of testing and help from Duncan, Benjamin, Joerg and others, I think the new SROA is ready for some broader testing. I've fixed all the crashers and miscompiles that Duncan and Joerg have been able to find (although I'm sure there are a few left I'll tackle when there are reports), and the LNT numbers look *really* good. Here is the latest LNT run we got by flipping it on and back off:<u></u><u></u></p>
<div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><a href="http://llvm.org/perf/db_default/v4/nts/3963" target="_blank" class="cremed">http://llvm.org/perf/db_default/v4/nts/3963</a><u></u><u></u></p>
</div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Most of this is very, very green. There are three somewhat worrisome regressions in execution time:<u></u><u></u></p></div><div><p class="MsoNormal">
<u></u> <u></u></p></div><div><p class="MsoNormal">1) sse_expandfft -- when I build this, the binaries have no differences before and after<u></u><u></u></p></div><div><p class="MsoNormal">2) sse_stepfft -- ditto<u></u><u></u></p>
</div><div><p class="MsoNormal">3) matmul_f64_4x4 -- this one is interesting<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">The last one represents the only real regressions I expect to see with the new pass. There is a helpful indicator about what caused it: the compile time *improved* by 44%!!! This is because the benchmark was tickling the bad behavior of the old SROA pass that inspired a lot of this work, and was building massive bit vectors to store integer arrays. The new pass doesn't do that, produces the exact IR desired from this benchmark, and speeds up compilation by a huge factor.<u></u><u></u></p>
</div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Unfortunately, sometimes having all the integers be stuffed into a big bitvector and lowered during legalization papered over problems in the register allocator (they look like spill placement to me? Haven't dug too deeply) that are now being exposed. That's responsible for the 7% regression in matmul.<u></u><u></u></p>
</div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Just ping me if this causes anyone problems! You can also temporarily disable it by passing '-mllvm -use-new-sroa=false' to Clang.<u></u><u></u></p>
</div><div><p class="MsoNormal">-Chandler<u></u><u></u></p></div></div></div></div></div><br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" class="cremed">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank" class="cremed">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank" class="cremed">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br></div>