[llvm-dev] How to interpret Selection DAG error output
Krzysztof Parzyszek via llvm-dev
llvm-dev at lists.llvm.org
Thu Feb 18 11:48:15 PST 2016
On 2/18/2016 1:40 PM, Rail Shafigulin wrote:
>
> 0x3283608: i32,ch = CopyFromReg 0x3257980, 0x3283500 [ORD=1]
> [ID=9]
> 0x3283500: i32 = Register %vreg5 [ID=1]
>
> Based on the code above, CopyFromReg is a node at address 0x3283608,
> returns i32, is of type chain and takes two inputs, the second of which
> is a %vreg5. So what is the first parameter? In fact where can I find
> the definition of CopyFromReg method?
The first parameter is a chain.
Here are some comments from include/llvm/CodeGen/ISDOpcodes.h:
/// CopyToReg - This node has three operands: a chain, a register
number to
/// set to this value, and a value.
CopyToReg,
/// CopyFromReg - This node indicates that the input value is a
virtual or
/// physical register that is defined outside of the scope of this
/// SelectionDAG. The register is available from the
RegisterSDNode object.
CopyFromReg,
I usually grep the sources if I want to find out about something. I'm
not sure if there is a better documentation about ISD nodes.
-Krzysztof
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
More information about the llvm-dev
mailing list