https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121362
--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>: https://gcc.gnu.org/g:0d276cd378e7a41b9004577a30b9a8ca16ec6b4c commit r16-2729-g0d276cd378e7a41b9004577a30b9a8ca16ec6b4c Author: Richard Biener <rguent...@suse.de> Date: Sun Aug 3 12:02:31 2025 +0200 tree-optimization/121362 - missed FRE through aggregate copy The following streamlines and generalizes how we find the common base of the lookup ref and a kill ref when looking through aggregate copies. In particular this tries to deal with all variants of punning that happens on the inner MEM_REF after forwarding of address taken components of the common base. PR tree-optimization/121362 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Generalize aggregate copy handling. * gcc.dg/tree-ssa/ssa-fre-105.c: New testcase. * gcc.dg/tree-ssa/ssa-fre-106.c: Likewise.