https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95643
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu.org
Ever confirmed|0 |1
Last reconfirmed| |2020-06-12
Status|UNCONFIRMED |NEW
Keywords| |easyhack
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed. value-numbering doesn't use the alternate assertion discovery
code and thus for the partly simplified condition does not record the
appropriate
expressions. Likewise EVRP lacks simple forward-propagation during this
assertion discovery (value-numbering would also need that) in
register_edge_assert_for (where it tests for defs like a & b and a | b
it needs to look for a simple boolean re-test/inversion as well).
Should be easy to amend for this case.