[PATCH] D117095: [BasicAA] Add support for memmove intrinsic
Philip Reames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 14 08:43:08 PST 2022
reames added a comment.
@ebrevnov Thanks for the explanation, that makes a lot more sense!
Your explanation raises a question for me. Have we ever defined the semantics of operand bundles on intrinsic calls? We've certainly done so for arbitrary calls, but intrinsics are somewhat "special". The whole point of them is that they have known semantics. This is purely a "I don't remember" question, the answer may be obvious. I'm just hoping for reminder/pointer to something to spark my memory.
On the solution, I'm really hesitant to generalize the modref behavior for this case. That's a bunch of complexity for one narrow example. I think we need a couple more motivating examples before that becomes reasonable.
On the other hand, patching the memcpy special case to be correct with operand bundles, and then applying this patch so it applies to memmove too would seem reasonable. Particularly since we can now include a nice comment about about why this is not handled by more generic code elsewhere. :)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D117095/new/
https://reviews.llvm.org/D117095
More information about the llvm-commits
mailing list