re PR tree-optimization/33562 (aggregate DSE disabled)
authorJeff Law <law@redhat.com>
Fri, 13 Jan 2017 15:42:08 +0000 (08:42 -0700)
committerJeff Law <law@gcc.gnu.org>
Fri, 13 Jan 2017 15:42:08 +0000 (08:42 -0700)
commitd155c6fef06cba08d6ed48b90092c70fa69f8c79
tree4f6529aeda7d903802356f90c11593f8123fef1d
parent68b36e5903ea260f430e515211a8b169e247f77c
re PR tree-optimization/33562 (aggregate DSE disabled)

        PR tree-optimization/33562
        PR tree-optimization/61912
        PR tree-optimization/77485
* doc/invoke.texi: Document new dse-max-object-size param.
* params.def (PARM_DSE_MAX_OBJECT_SIZE): New PARAM.
* tree-ssa-dse.c: Include params.h.
(dse_store_status): New enum.
(initialize_ao_ref_for_dse): New, partially extracted from
dse_optimize_stmt.
(valid_ao_ref_for_dse, normalize_ref): New.
(setup_live_bytes_from_ref, compute_trims): Likewise.
(clear_bytes_written_by, maybe_trim_complex_store): Likewise.
(maybe_trim_partially_dead_store): Likewise.
(maybe_trim_complex_store): Likewise.
(dse_classify_store): Renamed from dse_possibly_dead_store_p.
Track what bytes live from the original store.  Return tri-state
for dead, partially dead or live.
(dse_dom_walker): Add constructor, destructor and new private members.
(delete_dead_call, delete_dead_assignment): New extracted from
dse_optimize_stmt.
(dse_optimize_stmt): Make a member of dse_dom_walker.
Use initialize_ao_ref_for_dse.

        PR tree-optimization/33562
        PR tree-optimization/61912
        PR tree-optimization/77485
* gcc.dg/tree-ssa/complex-4.c: Remove xfail.
* gcc.dg/tree-ssa/complex-5.c: Likewise.
* gcc.dg/tree-ssa/ssa-dse-9.c: Likewise.
* gcc.dg/tree-ssa/ssa-dse-18.c: New test.
* gcc.dg/tree-ssa/ssa-dse-19.c: Likewise.
* gcc.dg/tree-ssa/ssa-dse-20.c: Likewise.
* gcc.dg/tree-ssa/ssa-dse-21.c: Likewise.

From-SVN: r244442
12 files changed:
gcc/ChangeLog
gcc/doc/invoke.texi
gcc/params.def
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/complex-4.c
gcc/testsuite/gcc.dg/tree-ssa/complex-5.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-18.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-19.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-20.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-21.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-9.c
gcc/tree-ssa-dse.c