2014-01-09 Richard Biener <rguenther@suse.de>
commit0f9940ff1a1d565b062575f6ca97397370430ab1
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 9 Jan 2014 15:25:34 +0000 (9 15:25 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 9 Jan 2014 15:25:34 +0000 (9 15:25 +0000)
treef40802c298ed5aec6be3fd967cb326b3865a8b6d
parent1f17a730abe74108d9f4f227fc7c5940f37425f6
2014-01-09  Richard Biener  <rguenther@suse.de>

Backport from mainline
2013-11-18  Richard Biener  <rguenther@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  <jakub@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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@206467 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/passes.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/pr59362.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/builtin-object-size-14.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/builtin-object-size-8.c
gcc/testsuite/gcc.dg/strlenopt-14gf.c
gcc/testsuite/gcc.dg/strlenopt-1f.c
gcc/testsuite/gcc.dg/strlenopt-4gf.c
gcc/tree-object-size.c
gcc/tree-ssa-sccvn.c