https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110204
--- Comment #7 from CVS 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:d0de3bf9175877d6c51c94fe04662c6e031876e1 commit r14-2674-gd0de3bf9175877d6c51c94fe04662c6e031876e1 Author: Richard Biener <rguent...@suse.de> Date: Mon Jul 17 12:15:29 2023 +0200 tree-optimization/110204 - second level redundancy and simplification When PRE discovers a full redundancy during insertion it cannot unite the two value sets. Instead it inserts a copy old-val = new-val where new-val can also be a constant. The following looks through such copies during elimination, providing one extra level of constant and copy propagation. For the PR this helps avoiding a bogus diagnostic that's emitted on unreachable code during loop optimization. PR tree-optimization/110204 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_avail): Look through copies generated by PRE.