[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
> definition
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160202/603db7c7/attachment.html>

More information about the llvm-dev mailing list