https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90307
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- SRA decided to do this: [t88.c:27:24] x.u.internal = [t88.c:27:30] [t88.c:27:28] MEM[(const struct sstring &)[t88.c:49:17] &s].u.internal; [t88.c:27:24] x$u$external$str_24 = [t88.c:27:24] MEM[(union contents *)&s]; [t88.c:27:24] x$u$external$size_64 = [t88.c:27:24] MEM[(union contents *)&s + 8B]; [t88.c:25:31] MEM[(struct &)[t88.c:51:12] &D.2505] ={v} {CLOBBER}; [t88.c:27:24] [t88.c:27:24] MEM[(union contents *)&x] = x$u$external$str_24; [t88.c:27:24] [t88.c:27:24] MEM[(union contents *)&x + 8B] = x$u$external$size_64; [t88.c:27:24] [t88.c:27:24] MEM[(union contents *)&x + 15B] = 5;