http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54570
--- Comment #16 from Richard Biener <rguenth at gcc dot gnu.org> --- Author: rguenth Date: Thu Jan 9 15:25:34 2014 New Revision: 206467 URL: http://gcc.gnu.org/viewcvs?rev=206467&root=gcc&view=rev Log: 2014-01-09 Richard Biener <rguent...@suse.de> Backport from mainline 2013-11-18 Richard Biener <rguent...@suse.de> PR tree-optimization/59125 PR tree-optimization/54570 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): When inlining is not complete do not treat component-references with offset zero but different fields as equal. * tree-object-size.c: Include tree-phinodes.h and ssa-iterators.h. (compute_object_sizes): Apply TLC. Propagate the constant results into all uses and fold their stmts. * passes.def (pass_all_optimizations): Move pass_object_sizes after the first pass_forwprop and before pass_fre. * gcc.dg/builtin-object-size-8.c: Un-xfail. * gcc.dg/builtin-object-size-14.c: New testcase. * gcc.dg/strlenopt-14gf.c: Adjust. * gcc.dg/strlenopt-1f.c: Likewise. * gcc.dg/strlenopt-4gf.c: Likewise. 2013-12-03 Jakub Jelinek <ja...@redhat.com> PR tree-optimization/59362 * tree-object-size.c (object_sizes): Change into array of vec<unsigned HOST_WIDE_INT>. (compute_builtin_object_size): Check computed bitmap for non-NULL instead of object_sizes. Call safe_grow on object_sizes vector if new SSA_NAMEs appeared. (init_object_sizes): Check computed bitmap for non-NULL. Call safe_grow on object_sizes elements instead of initializing it with XNEWVEC. (fini_object_sizes): Call release on object_sizes elements, don't set it to NULL. * gcc.c-torture/compile/pr59362.c: New test. Added: branches/gcc-4_8-branch/gcc/testsuite/gcc.c-torture/compile/pr59362.c branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/builtin-object-size-14.c Modified: branches/gcc-4_8-branch/gcc/ChangeLog branches/gcc-4_8-branch/gcc/passes.c branches/gcc-4_8-branch/gcc/testsuite/ChangeLog branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/builtin-object-size-8.c branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/strlenopt-14gf.c branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/strlenopt-1f.c branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/strlenopt-4gf.c branches/gcc-4_8-branch/gcc/tree-object-size.c branches/gcc-4_8-branch/gcc/tree-ssa-sccvn.c