https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94703
--- Comment #13 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to r...@cebitec.uni-bielefeld.de from comment #10) > > --- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> --- > [...] > > Hmm, OK looks like memcpy is not folded, likely because the source is > > not known to be appropriately aligned. > [...] > > should fix this. Can you verify and if so, commit? Thx. > > Unfortunately, it doesn't. OK, this only helps a bit later since CCP is required to propagate the alignment, the following forwprop pass to elide the memcpy and then finally the update-address-taken invocation in the _second_ CCP pass after inlining will have pr94703.c.093t.ccp2:No longer having address taken: r I've long pondered to remove the memcpy folding restriction for strict-align targets but never went through. I'll update the testcase to require /* { dg-require-effective-target non_strict_align } */