2013-11-18 Richard Biener <rguenther@suse.de>
commit6a00bf6bceed6c8c9c4a47a8d39f329632b4e856
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 18 Nov 2013 15:25:05 +0000 (18 15:25 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 18 Nov 2013 15:25:05 +0000 (18 15:25 +0000)
tree4fdadcce61fa5e47e03e25659386ced8080d70b9
parentaa59f000a84f3f0016bcb959a077047090c8d91c
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204966 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/passes.def
gcc/testsuite/ChangeLog
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