https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78081
Jeffrey A. Law <law at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |law at redhat dot com --- Comment #2 from Jeffrey A. Law <law at redhat dot com> --- This is fallout from the change in how we compute the cost of a jump threading path. gcc-7 was changed to use common infrastructure to estimate the cost of duplicating a path during jump threading. That common infrastructure is much more accurate than the ad-hoc scheme the threader used in gcc-6. The net result is the threader does not think it is profitable to thread certain paths and that leaves a path with an uninitialized use of offset2 in the CFG that can't actually occur at runtime. The paths involving offset1 are shorter, and thus less costly to duplicate and they get threaded, removing the path with the uninitialized use of offset1. I have some local patches (for an unrelated BZ) which retune cutoffs (which was not done after changing the costing model). Hopefully as we work through the new tunings we'll be able to pick up this case.