https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62217
--- Comment #14 from Jeffrey A. Law <law at redhat dot com> --- WRT the patch in c#12, it looks reasonable for the same reasons as we avoid propagating in 23821. I can confirm that it prevents the unwanted cprop into array reference. By DOM2 we have the following array references: g_x[0] = *x2_9(D); g_x[0] = *x1_7(D); g_x[1] = *x2_9(D); g_x[1] = *x1_7(D); g_x[2] = *x2_9(D); g_x[2] = *x1_7(D); g_x[3] = *x1_7(D); g_x[3] = *x2_9(D); Assuming it bootstraps and regression tests, I'd go with it.