<div dir="ltr">Hi Tim,<div><br></div><div>Patch looks good. Did you check with Matthias about sub-register liveness analysis? His patch might change yours...</div><div><br></div><div>A few comments below...</div><div class="gmail_extra">
<br><br><div class="gmail_quote">On 9 October 2013 16:05, Tim Northover <span dir="ltr"><<a href="mailto:t.p.northover@gmail.com" target="_blank">t.p.northover@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
When we had a sequence like:<br>
<br>
        s1 = VLDRS [r0, 1], Q0<imp-def><br>
        s3 = VLDRS [r0, 2], Q0<imp-use,kill>, Q0<imp-def><br>
        s0 = VLDRS [r0, 0], Q0<imp-use,kill>, Q0<imp-def><br>
        s2 = VLDRS [r0, 4], Q0<imp-use,kill>, Q0<imp-def><br>
<br>
we were gathering the {s0, s1} loads below the s3 load. This is fine, but confused the verifier since now the s3 load had Q0<imp-use> with no definition above it.<br></blockquote><div><br></div><div>You mean the order becomes: s3, s1, s0, s2? or s1, s0, s3, s2? The former will look broken, the latter, not so much.</div>
<div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">@@ -432,6 +509,7 @@<br></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

       memOps[i].isKill = true;<br>
     }<br>
     MBB.erase(memOps[i].MBBI);<br>
+<br></blockquote><div><br></div><div>Unnecessary space change.</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">+define arm_aapcs_vfpcc <4 x float> @foo(float* %ptr) {<br>

+; CHECK-LABEL: foo:<br>
+; CHECK: vldr s3, [r0, #8]<br>
+; CHECK: vldmia r0, {s0, s1}<br>
+; CHECK: vldr s2, [r0, #16]<br></blockquote><div></div></div><br></div><div class="gmail_extra">Will it always be in this order? I thought the requirement was to make sure it does call a vldmia on {s0, s1} instead of 2 separate loads. In that case, a CHECK-DAG would be safer, no?</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">cheers,</div><div class="gmail_extra">--renato</div></div>