[PATCH] D63215: Fixing @llvm.memcpy not honoring volatile

Guillaume Chatelet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 13 01:52:25 PDT 2019


gchatelet added a comment.

In D63215#1541086 <https://reviews.llvm.org/D63215#1541086>, @gchatelet wrote:

> In D63215#1540160 <https://reviews.llvm.org/D63215#1540160>, @efriedma wrote:
>
> > What happens if findOptimalMemOpLowering fails?  We have other ways of lowering memcpy/memset that could also violate the "one store per byte" rule.
>
>
> Yes indeed, I need to take care of this as well.


So I've looked at the code, I believe the general case is covered.
What's left is the call to libc's memcpy (which is OK until the standard is updated) and the target specific code: nothing pops out particularly here but I'm not really qualified to review all of it.

BTW I'm not sure Intel's `rep movs` gives any guarantee on the overlapping access, it's microcoded nowadays.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D63215





More information about the llvm-commits mailing list