[llvm-dev] How to interpret Selection DAG error output
Jonathan Roelofs via llvm-dev
llvm-dev at lists.llvm.org
Thu Feb 18 11:22:46 PST 2016
On 2/18/16 12:19 PM, Rail Shafigulin via llvm-dev wrote:
>
>
> On Thu, Feb 18, 2016 at 10:50 AM, Krzysztof Parzyszek via llvm-dev
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>
> On 2/18/2016 12:43 PM, Rail Shafigulin via llvm-dev wrote:
>
>
> LLVM ERROR: Cannot select: 0x3284268: glue = EsenciaISD::SET_FLAG
> 0x3283608, 0x3283710, 0x3283e48 [ORD=3] [ID=11]
> 0x3283608: i32,ch = CopyFromReg 0x3257980, 0x3283500 [ORD=1]
> [ID=9]
> 0x3283500: i32 = Register %vreg5 [ID=1]
> 0x3283710: i32 = Constant<3> [ID=2]
> 0x3283e48: i32 = Constant<20> [ID=8]
> In function: fib
>
> As far as I can understand LLVM cannot select it because the
> pattern is
> not specified. Unfortunately for me, I can't understand how to
> interpret
> this output. Would anybody be able to help me out?
>
>
>
> The DAG node that has failed selection is "SET_FLAG %vreg5, 3, 20",
> the type of the node is "glue" and all 3 arguments are i32.
>
> I understand where SET_FLAG, 3 and 20 come from, but how did you arrive
> the conclusion that %vreg5 should be part of the pattern?
The hex numbers are pointers. You can see the Use of 0x3283500 in the
CopyFromReg inst, and the def is here:
0x3283500: i32 = Register %vreg5 [ID=1]
It's /just/ a dag.
Jon
>
>
> The top line shows the node that caused the failure. The hex
> numbers on that line are the addresses of the arguments. These
> arguments are then listed below.
>
> Newer versions of LLVM show node ids instead of addresses, but AFAIK
> it was dependent on some configuration option.
>
> -Krzysztof
>
>
> --
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
> hosted by The Linux Foundation
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
>
>
> --
> Rail Shafigulin
> Software Engineer
> Esencia Technologies
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
--
Jon Roelofs
jonathan at codesourcery.com
CodeSourcery / Mentor Embedded
More information about the llvm-dev
mailing list