https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119930
--- Comment #7 from Iain Sandoe <iains at gcc dot gnu.org> --- coroutine lowering is not (other than FE folding) dependent on the opt level. So this is likely something related to inlining. The only "special" thing about coroutines is that they have return edges [intentionally] without cleanups; however we deal with that very early in the ME (before early inlining)