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

            Bug ID: 83073
           Summary: Range for VR_VARYING | [1, 1]
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: glisse at gcc dot gnu.org
  Target Milestone: ---

Before r254954, for x | 1 where x is VR_VARYING, we would deduce a
VR_ANTI_RANGE ~[0, 0]. Since then, we deduce [-INT_MAX, INT_MAX]. Both make
sense, but it is strange that we get something different for VR_VARYING and for
a full range, and Richard thinks it is worth looking into (maybe
zero_nonzero_bits_from_vr).

-O2 -fdump-tree-optimized-all
int f(int x){return x|1;}

Reply via email to