[llvm-dev] creating Intrinsic DAG Node
Ryan Taylor via llvm-dev
llvm-dev at lists.llvm.org
Tue Feb 2 14:10:16 PST 2016
The added intrinsic in DAG looks like:
0xbedb698: i32 = llvm.MyIntrinsic 0xbedb200, 0xbedac18 [ORD=4]
The builtin in DAG looks like:
0xbedb2a8: i32,ch = llvm 0xbedb158:1, 0xbedb200, 0xbedb158 [ORD=7] [ID=16]
The only difference I'm seeing is the extra operand, which is a 'ch'
from a load.
On Tue, Feb 2, 2016 at 3:55 PM, Matt Arsenault <arsenm2 at gmail.com> wrote:
> > On Feb 2, 2016, at 12:43, Ryan Taylor <ryta1203 at gmail.com> wrote:
> > Matt,
> > This seems to generate llvm.my_intrinsic just fine in the DAG, so no
> DAG errors; however, it won't match. For example, if I call the intrinsic
> from C, the DAG node looks to be named the same in dotty file but it won't
> match... am I missing something?
> > I've done it exactly the way it was done above. The DAG looks great
> but it won't match. Did I miss something?
> > Thanks.
> Are you using the right intrinsic type? Does it have a chain or result?
> How are you calling it from C? Are you declaring the intrinsic? This can
> fail if you mismatched the readnone or readonly to the actual intrinsic
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev