it will get the following error:
"coroutine should have exactly one defining @llvm.coro.begin"
with the following situation:
there are two coroutine functions named A and B, and B is called by A
If there is the chance inline B to A before LLVM called CoroSplit pass, it will get this error.
After checking the LLVM code, we found there are 3 situations to triggle this error:
1. mark B as always inline under O0 level
2. mark B as always inline and enable new pm under O0 level
3. mark B as always inline and set valid sample profile
So we think it will be better disable inline coroutine function before llvm called CoroSplit Pass.