<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 18, 2016 at 11:22 AM, Jonathan Roelofs <span dir="ltr"><<a href="mailto:jonathan@codesourcery.com" target="_blank">jonathan@codesourcery.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
<br>
On 2/18/16 12:19 PM, Rail Shafigulin via llvm-dev wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
<br>
<br>
On Thu, Feb 18, 2016 at 10:50 AM, Krzysztof Parzyszek via llvm-dev<br></span><span class="">
<<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a> <mailto:<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>>> wrote:<br>
<br>
On 2/18/2016 12:43 PM, Rail Shafigulin via llvm-dev wrote:<br>
<br>
<br>
LLVM ERROR: Cannot select: 0x3284268: glue = EsenciaISD::SET_FLAG<br>
0x3283608, 0x3283710, 0x3283e48 [ORD=3] [ID=11]<br>
0x3283608: i32,ch = CopyFromReg 0x3257980, 0x3283500 [ORD=1]<br>
[ID=9]<br>
0x3283500: i32 = Register %vreg5 [ID=1]<br>
0x3283710: i32 = Constant<3> [ID=2]<br>
0x3283e48: i32 = Constant<20> [ID=8]<br>
In function: fib<br>
<br>
As far as I can understand LLVM cannot select it because the<br>
pattern is<br>
not specified. Unfortunately for me, I can't understand how to<br>
interpret<br>
this output. Would anybody be able to help me out?<br>
<br>
<br>
<br>
The DAG node that has failed selection is "SET_FLAG %vreg5, 3, 20",<br>
the type of the node is "glue" and all 3 arguments are i32.<br>
<br>
I understand where SET_FLAG, 3 and 20 come from, but how did you arrive<br>
the conclusion that %vreg5 should be part of the pattern?<br>
</span></blockquote>
<br>
The hex numbers are pointers. You can see the Use of 0x3283500 in the CopyFromReg inst, and the def is here:<span class=""><br>
<br>
0x3283500: i32 = Register %vreg5 [ID=1]<br></span></blockquote><div><br></div><div>I think this is where I'm loosing the "thread". Based on what I'm seeing SET_FLAG has three operands, the first of which is a CopyFromReg. So how come the pattern is SET_FLAG %vreg5, 3, 20 and not SET_FLAG CopyFromReg, 3, 20? In other words how do we go from CopyFromReg to %vreg5?</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
<br></span>
It's /just/ a dag.<br>
<br>
<br>
Jon<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
<br>
<br>
The top line shows the node that caused the failure. The hex<br>
numbers on that line are the addresses of the arguments. These<br>
arguments are then listed below.<br>
<br>
Newer versions of LLVM show node ids instead of addresses, but AFAIK<br>
it was dependent on some configuration option.<br>
<br>
-Krzysztof<br>
<br>
<br>
--<br>
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,<br>
hosted by The Linux Foundation<br>
_______________________________________________<br>
LLVM Developers mailing list<br></span>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a> <mailto:<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>><span class=""><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
<br>
<br>
<br>
<br>
--<br>
Rail Shafigulin<br>
Software Engineer<br>
Esencia Technologies<br>
<br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
<br>
</span></blockquote><span class="HOEnZb"><font color="#888888">
<br>
-- <br>
Jon Roelofs<br>
<a href="mailto:jonathan@codesourcery.com" target="_blank">jonathan@codesourcery.com</a><br>
CodeSourcery / Mentor Embedded<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Rail Shafigulin<br></div>Software Engineer <br>Esencia Technologies<br></div></div></div></div>
</div></div>