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.