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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2
          Component|c                           |tree-optimization

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Agreed - let's punt on abnormals, but I guess you have to prevent looking into

 _2 = _3 + a_4(AB);

when linearizing.  That is, abnormals shouldn't appear in the ops vector
(maybe we can add an assert in rewrite-expr-tree for this).

Of course technically we can re-associate so that two abnormals cancel
(optimize a_4(AB) - a_4(AB) to zero) but I don't see an easy way to "recover"
when an abnormal survives until rewrite-expr-tree.

The real constraint is of course that we may not enlarge the lifetime of
an abnormal.

Reply via email to