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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2018-01-02
            Version|tree-ssa                    |8.0
     Ever confirmed|0                           |1

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
I've deliberately avoided doing this ... (turning SSA propagator UNDEFINED
into a random value rather than keeping it effectively VARYING during
propagation/simplification stage).  CCP is the only pass that even tries
to handle arithmetic with UNDEF somehow.

The case in question could be teached to both EVRP and DOM (you need those
conditional equivalences).

Note that our constant folding machinery simply computes stuff in twos
complement
as it lacks a way to say "undefined".

How useful would this be in practice?  Apart from breaking some invalid code in
unexpected ways?

Reply via email to