https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105382
--- Comment #1 from David Malcolm <dmalcolm at gcc dot gnu.org> --- Looks like the analyzer is assuming that all of the different _Coro_resume_index values are possible at each entry to f(f()::_Z1fv.Frame*), but AIUI that value is expressing which basic block the coroutine is re-entering i.e. this data value exists to affect control flow. Presumably that ought to be expressed in the exploded graph, so that it properly respects control flow. So I think we need to be smarter about _Coro_resume_index values in various ways e.g. not merge state for them, and assume some initial value for the initial entry to the coroutine, etc.