[Bug middle-end/78081] -Wmaybe-initialized false-alarm regression for Emacs regex.c

law at redhat dot com gcc-bugzilla@gcc.gnu.org
Fri Apr 28 15:24:00 GMT 2017


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.


More information about the Gcc-bugs mailing list