[PATCH] D105370: [GlobalISel] Mark memcpy/memmove/memset as thisreturn
Amara Emerson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 2 14:04:39 PDT 2021
aemerson added a comment.
In D105370#2856111 <https://reviews.llvm.org/D105370#2856111>, @paquette wrote:
> SDAG doesn't seem to mark the call as returned with the same example. Is this a new optimization?
>
> https://clang.godbolt.org/z/K49z51zoo
>
> IIRC `thisreturn` comes up as a result of the `returned` attribute in IR, right? Should the frontend be marking memory functions as `returned` instead? (I guess that we'd need a patch like this either way...?)
Godbolt is using c++ by default so we need to `extern C` the source: https://clang.godbolt.org/z/594M46vYs
But it seems the difference is that SDAG can tail call it while GISel doesn't.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D105370/new/
https://reviews.llvm.org/D105370
More information about the llvm-commits
mailing list