[Bug tree-optimization/83073] Range for VR_VARYING | [1, 1]

glisse at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Nov 29 15:43:00 GMT 2017


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

--- Comment #3 from Marc Glisse <glisse at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #2)
> The "proper" result for [MIN,MAX] | 1 is of course a set of every odd
> number...

Sadly, while we track may-be-nonzero bits in CCP (maybe with the VRP reorg
there will be a chance to merge it somehow?), we do not track must-be-nonzero
bits.

Note that the original testcase is completely artificial. I needed something
known to be nonzero, and at the time x|1 worked so I used that, but it should
not be used as if it was an important real-world code that heuristics need to
be tuned for.


More information about the Gcc-bugs mailing list