<div dir="ltr">Hi Stepan,<div><br><div>I verified your patch. It worked well.</div></div><div><br></div><div style>But I just have one question: do we need to consider about the mix situation of registers of S, D and Q?  I just wonder the existence of some code like:</div>
<div style>      S1 = ldr r0, #4;</div><div style>      D1 = ldr r0, #8;</div><div style>      Q1 = ldr r0, #16;</div><div style>      ...</div><div style><br></div><div style>Sorry that I don't know too much about backend. If we need to consider about that situation, your patch looks very good.</div>
<div style><br></div><div style>Thanks,</div><div style>- Hao</div><div class="gmail_extra"><br><div class="gmail_quote">2013/3/12 Stepan Dyatkovskiy <span dir="ltr"><<a href="mailto:stpworld@narod.ru" target="_blank">stpworld@narod.ru</a>></span><br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hello!<br>
Please consider patch in attachment as fix for PR14824: Optimization arm_ldst_opt inserts newly generated instruction vldmia at incorrect position.<br>
Patch introduces memory operands tracking in ARMLoadStoreOpt::<u></u>LoadStoreMultipleOpti. For each register it keeps the order of load operations as it was before optimization pass.<br>
It is kind of deep improvement of fix proposed by Hao: <a href="http://llvm.org/bugs/show_bug.cgi?id=14824#c4" target="_blank">http://llvm.org/bugs/show_bug.<u></u>cgi?id=14824#c4</a><br>
But it also tracks conflicts between different register classes (e.g. D2 and S5).<span><font color="#888888"><br>
<br>
-Stepan<br>
</font></span><br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br></div></div>