https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122734

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |pinskia at gcc dot 
gnu.org
             Status|NEW                         |ASSIGNED

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Ok, I have an slight improvement to my patch which should help here.
Basically we only handle unreachable if it is the first bbs.

That is if we have for the header:

goto header;

loop:
....
if (dd) __builtin_unreachable();
...

header:
if (a) __builtin_unreachable();
if (b) __builtin_unreachable();
if (c) loop;

We can duplicate the bb containing `if(a), if (b)` but we don't do the removal
of the `invariant` removal of the `if(dd)` part

Reply via email to