[PATCH] D101510: Do not merge memcpy if the first source is a parameter of coroutine function
Reid Kleckner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 29 11:54:22 PDT 2021
rnk added a comment.
I don't think this is a reasonable fix. We can't just go around dropping special cases for coroutines in every transform. There are other ways to sink loads from byval memory across a suspend point. I know you are offering this as a quick fix and intend to do a proper fix later, but I don't think it's the right tradeoff of expedience to tech debt for the overall LLVM project.
There must be some logic in memoryssa or our alias analysis code that believes that byval arguments are immutable. Is it not just a matter of moving the special case to the analysis? Have the analysis check if the argument's parent function is a coroutine?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D101510/new/
https://reviews.llvm.org/D101510
More information about the llvm-commits
mailing list