<div dir="ltr">Hi Renato,<div><br></div><div>There will be two more check fail one after another(below), after fix this one. </div><div>But we could remove the check lines in my opinion, as the check fails are caused by</div><div>different instructions sequence after  <span style="font-size:13px">canonicalisation. And the </span><span style="font-size:13px">canonicalisation won't</span></div><div><span class="gmail-high-light-bg gmail-ordinary-span-edit">affect the LICM.</span><span style="font-size:13px"><br></span></div><div><ul><li><font color="#999999"><br></font></li></ul></div><div><div><font color="#999999">/home/likewise-open/SPREADTRUM/<a href="http://jojo.ma/jojoma/source/llvm/llvm-linaro/llvm/llvm/test/CodeGen/Thumb2/machine-licm.ll:91:10">jojo.ma/jojoma/source/llvm/llvm-linaro/llvm/llvm/test/CodeGen/Thumb2/machine-licm.ll:91:10</a>: error: expected string not found in input</font></div><div><font color="#999999">; CHECK: movw {{(r[0-9]+)|(lr)}}, #65534</font></div><div><font color="#999999">         ^</font></div><div><font color="#999999"><stdin>:59:2: note: scanning from here</font></div><div><font color="#999999"> movt r12, #65535</font></div><div><font color="#999999"> ^</font></div><div><ul><li><font color="#999999"><br></font></li></ul></div><div><div><div><font color="#999999">/home/likewise-open/SPREADTRUM/<a href="http://jojo.ma/jojoma/source/llvm/llvm-linaro/llvm/llvm/test/CodeGen/Thumb2/machine-licm.ll:99:10">jojo.ma/jojoma/source/llvm/llvm-linaro/llvm/llvm/test/CodeGen/Thumb2/machine-licm.ll:99:10</a>: error: expected string not found in input</font></div><div><font color="#999999">; CHECK: and</font></div><div><font color="#999999">         ^</font></div><div><font color="#999999"><stdin>:67:2: note: scanning from here</font></div><div><font color="#999999"> uxtb r3, r2</font></div><div><font color="#999999"> ^</font></div><div><font color="#999999"><stdin>:82:3: note: possible intended match here</font></div><div><font color="#999999"> .indirect_symbol _GV</font></div><div>  ^</div></div></div><div><br></div><div>The diff was updated: </div><div><a href="https://reviews.llvm.org/D27916" target="_blank" style="font-size:13px">https://reviews.llvm.org/<wbr>D27916</a><br></div><div><br></div><div>Welcome all your comments!Thank you very much!</div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><div>Best Regards,<br></div>Jojo<br></div></div></div>
<br><div class="gmail_quote">On 20 December 2016 at 00:30, Renato Golin <span dir="ltr"><<a href="mailto:renato.golin@linaro.org" target="_blank">renato.golin@linaro.org</a>></span> wrote:<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"><span class="gmail-">On 19 December 2016 at 09:58, Jojo Ma <<a href="mailto:jojo.ma@linaro.org">jojo.ma@linaro.org</a>> wrote:<br>
> /home/likewise-open/<wbr>SPREADTRUM/<a href="http://jojo.ma/jojoma/source/llvm/llvm-linaro/llvm/llvm/test/CodeGen/Thumb2/machine-licm.ll:88:10" rel="noreferrer" target="_blank">jojo.ma/jojoma/<wbr>source/llvm/llvm-linaro/llvm/<wbr>llvm/test/CodeGen/Thumb2/<wbr>machine-licm.ll:88:10</a>:<br>
> error: expected string not found in input<br>
> ; CHECK: movw {{(r[0-9])|(lr)}}, #32768<br>
>          ^<br>
> <stdin>:56:2: note: scanning from here<br>
>  movw r12, #32768<br>
>  ^<br>
<br>
</span>Hi Jojo,<br>
<br>
This is just a bad check line. :)<br>
<br>
Instead of:<br>
<span class="gmail-"><br>
; CHECK: movw {{(r[0-9])|(lr)}}, #32768<br>
<br>
</span>it should have been:<br>
<br>
; CHECK: movw {{(r[0-9]+)|(lr)}}, #32768<br>
<br>
(ie. add the extra '+' at the end, so you allow more than one number).<br>
<br>
If that's the last remaining problem, I suggest you fix the CHECK<br>
line, create the tests necessary to test your pass, and make sure that<br>
the LICM code makes sense (it doesn't look worse to me, but the<br>
instructions are different, just need to make sure they have the same<br>
semantics).<br>
<br>
cheers,<br>
--renato<br>
</blockquote></div><br></div></div></div>