https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85301
Jeffrey A. Law <law at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |law at redhat dot com
--- Comment #7 from Jeffrey A. Law <law at redhat dot com> ---
So I went and found pr68548 which is related, but clearly different.
Just thinking out loud here, I think we can pick up this missed jump thread by
recording _1 & 1 == 0 on the false edge of the first conditional (when we know
that _1 & 3 == 0). It doesn't scale well in the general case, but when there's
just a few bits in the mask it might be reasonable.
That ought to allow us to determine that _4 == 0 when bb4 is reached via bb2
and thread the jump. Not planning to look at any implementation for gcc-8
though.