-
Notifications
You must be signed in to change notification settings - Fork 13.4k
clang optimization issue in coroutines(not allocations) #64933
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Labels
Comments
@llvm/issue-subscribers-coroutines |
llvmbot
pushed a commit
to llvm/llvm-project-release-prs
that referenced
this issue
Aug 25, 2023
… regressions The fix we sent for llvm/llvm-project#56301 may bring performance regressions. But we didn't mention it in the ReleaseNotes so that users may get confused. e.g, llvm/llvm-project#64933. So this patch mentions the possible side effect and the potential solutions in llvm/llvm-project#64945 to avoid misunderstandings.
tru
pushed a commit
to llvm/llvm-project-release-prs
that referenced
this issue
Aug 27, 2023
… regressions The fix we sent for llvm/llvm-project#56301 may bring performance regressions. But we didn't mention it in the ReleaseNotes so that users may get confused. e.g, llvm/llvm-project#64933. So this patch mentions the possible side effect and the potential solutions in llvm/llvm-project#64945 to avoid misunderstandings.
ChuanqiXu9
added a commit
that referenced
this issue
Aug 28, 2023
…ecified as always_inline already Address #64933 and partially #64945. After c467245, we will add a noinline attribute to the await_suspend member function of an awaiter if the awaiter has any non static member functions. Obviously, this decision will bring some performance regressions. And people may complain about this while the long term solution may not be available soon. In such cases, it is better to provide a solution for the users who met the regression surprisingly. Also it is natural to not prevent the inlining if the function is marked as always_inline by the users already.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
https://godbolt.org/z/5hTE69j1b
starting row 82 in asm there are something strange in 'trunk', im 99% sure someone apply 'cold' attribute or 'never inline' to all functions in final suspend or smth like.
All calls must be inlined, its literaly one-row functions.
The text was updated successfully, but these errors were encountered: