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.

Reply via email to