diff options
author | Chuanqi Xu <yedeng.yd@linux.alibaba.com> | 2022-02-08 11:42:38 +0800 |
---|---|---|
committer | Chuanqi Xu <yedeng.yd@linux.alibaba.com> | 2022-02-08 11:43:42 +0800 |
commit | e39ba0461757339f7172f6bc3882f41116bb7c13 (patch) | |
tree | 52a8cdf6e02805d1a7d1b3e7df6e8659ee6c6af9 /clang/lib/Sema/SemaModule.cpp | |
parent | 7889ff7f0008500710fd84838b66d5022c7acb2a (diff) | |
download | llvm-e39ba0461757339f7172f6bc3882f41116bb7c13.zip llvm-e39ba0461757339f7172f6bc3882f41116bb7c13.tar.gz llvm-e39ba0461757339f7172f6bc3882f41116bb7c13.tar.bz2 |
[C++20] [Coroutines] Warning for always_inline coroutine
See the discussion in https://reviews.llvm.org/D100282. The coroutine
marked always inline might not be inlined properly in current compiler
support. Since the coroutine would be splitted into pieces. And the call
to resume() and destroy() functions might be indirect call. Also the
ramp function wouldn't get inlined under O0 due to pipeline ordering
problems. It might be different to what users expects to. Emit a warning
to tell it.
This is what GCC does too: https://godbolt.org/z/7eajb1Gf8
Reviewed By: Quuxplusone
Differential Revision: https://reviews.llvm.org/D115867
Diffstat (limited to 'clang/lib/Sema/SemaModule.cpp')
0 files changed, 0 insertions, 0 deletions