https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61409
--- Comment #11 from Jeffrey A. Law <law at redhat dot com> --- Sigh. We can't do the propagation, even if we recognize the mw_9 default definition represents an undefined value -- because doing so would result in a use that is not dominated by its def. We could do duplication and essentially create if (mini_p) { long int a = make_window (); if (!PSEUDOVECTORP (a)) return rw; mw = (void*) a - 5; rw->pixel_width = ((rw->text_cols * (rw->column_width)) + (rw->left_fringe_width + (rw->right_fringe_width)) + 2 * (rw->internal_border_width)); rw->pixel_height = ((rw->text_cols * (rw->line_height))); mw->pixel_height = rw->pixel_height; } else { rw->pixel_width = ((rw->text_cols * (rw->column_width)) + (rw->left_fringe_width + (rw->right_fringe_width)) + 2 * (rw->internal_border_width)); rw->pixel_height = ((rw->text_cols * (rw->line_height))); } And in fact, that's precisely what the code to handle joiner blocks in the jump threader is supposed to do... Hmmm, this might be mine...