https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63679
--- Comment #23 from Richard Biener <rguenth at gcc dot gnu.org> --- Author: rguenth Date: Mon Nov 24 14:07:18 2014 New Revision: 218019 URL: https://gcc.gnu.org/viewcvs?rev=218019&root=gcc&view=rev Log: 2014-11-24 Richard Biener <rguent...@suse.de> PR tree-optimization/63679 * tree-ssa-sccvn.c: Include ipa-ref.h, plugin-api.h and cgraph.h. (copy_reference_ops_from_ref): Fix non-constant ADDR_EXPR case to properly leave off at -1. (fully_constant_vn_reference_p): Generalize folding from constant initializers. (vn_reference_lookup_3): When looking through aggregate copies handle offsetted reads and try simplifying the result to a constant. * gimple-fold.h (fold_ctor_reference): Export. * gimple-fold.c (fold_ctor_reference): Likewise. * gcc.dg/tree-ssa/ssa-fre-42.c: New testcase. * gcc.dg/tree-ssa/20030807-5.c: Avoid folding read from global to zero. * gcc.target/i386/ssetype-1.c: Likewise. * gcc.target/i386/ssetype-3.c: Likewise. * gcc.target/i386/ssetype-5.c: Likewise. Added: trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-42.c Modified: trunk/gcc/ChangeLog trunk/gcc/gimple-fold.c trunk/gcc/gimple-fold.h trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/tree-ssa/20030807-5.c trunk/gcc/testsuite/gcc.target/i386/ssetype-1.c trunk/gcc/testsuite/gcc.target/i386/ssetype-3.c trunk/gcc/testsuite/gcc.target/i386/ssetype-5.c trunk/gcc/tree-ssa-sccvn.c