https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68672
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Hum. We outline bb 6 and bb 7 in the following (but not bb 8). | / <bb 6> ptr_1 = ...; if () | \ | <bb 7> | / <bb 8> *ptr_1 = ...; returnl so the split part computes ptr_1 but the main part uses it. Honza - is IPA split supposed to ever generate such split parts? The split part has two returns as well. See also the other PR where it splits on a loop header rather than the preheader leading to it (thus leaving fallthru code to the split part in the main function). It seems to me it would need to consider returning all set_ssa_names names if they are used outside of the split part. OTOH I don't know why the articulation at BB 6 doesn't include BB 8... I'm really not very familiar with IPA split and the code-gen part looks like a huge mess to me.