https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87843
--- Comment #7 from Jan Hubicka <hubicka at ucw dot cz> --- > If we have less MEM_REFs then we probably strip them because we think they > reference equal types. > > I think I already told you that given that MEM_REFs use pointer types > to carry alignment info _those_ may not become incomplete! But I didn't > expect that to cause wrong-code but missed optimizations. We do not make them incomplete. The problem actually seems to be in early optimization where we optimize out the if conditional above. Not sure why -ffat-lto-objects worked in this context.