[Bug tree-optimization/83541] Missed optimization with int overflow

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jan 2 15:17:00 GMT 2018


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?


More information about the Gcc-bugs mailing list