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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
             Blocks|85316                       |
   Last reconfirmed|                            |2024-07-21
                 CC|hubicka at gcc dot gnu.org,        |pinskia at gcc dot 
gnu.org
                   |jh at suse dot cz                  |
          Component|middle-end                  |tree-optimization
   Target Milestone|---                         |14.2

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note I don't think IPA is the issue of exporting (correctly) the return value
range. The problem is VRP decides to create `a == 0 ? 2 : 3` which gets
converted into `3 - a` (which then vrp again converts into `a == 0 ? 2 : 3`).

But then `(3 - a) == 2` is never optimized to just `a == 0` by match or
something else.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85316
[Bug 85316] [meta-bug] VRP range propagation missed cases

Reply via email to