[PATCH] D71710: [instrinsics] Add @llvm.memcpy.inline instrinsics

Guillaume Chatelet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 16 02:26:46 PST 2020


gchatelet marked 2 inline comments as done.
gchatelet added a comment.

In D71710#1822800 <https://reviews.llvm.org/D71710#1822800>, @efriedma wrote:

> In D71710#1821546 <https://reviews.llvm.org/D71710#1821546>, @gchatelet wrote:
>
> > In D71710#1806641 <https://reviews.llvm.org/D71710#1806641>, @efriedma wrote:
> >
> > > It would be nice to do a bit more work so various optimizations handle llvm.memcpy.inline in a way that isn't completely conservative (for example, in alias analysis), but I guess that doesn't need to be in the initial patch.
> >
> >
> > I'm not too familiar with AA but my understanding is that the definition in `llvm/include/llvm/IR/Intrinsics.td` already describes the arguments with enough precision to be helpful for the AA pass.
> >
> >   def int_memcpy_inline
> >       : Intrinsic<[],
> >         [ llvm_anyptr_ty, llvm_anyptr_ty, llvm_anyint_ty, llvm_i1_ty ],
> >         [ IntrArgMemOnly, NoCapture<0>, NoCapture<1>, WriteOnly<0>, ReadOnly<1>,
> >         ImmArg<2>, ImmArg<3> ]>;
> >
> >
> > Did you have something specific in mind? Or am I missing something completely?
>
>
> The attributes are helpful, but not enough to figure out how many bytes are modified.


I see, I looked it up a bit but it will take some time for me to understand the framework and where to add this information.
Can you provide me with pointers?
I can do this as a follow up patch also or someone more knowledgeable than me maybe?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71710/new/

https://reviews.llvm.org/D71710





More information about the llvm-commits mailing list