PR tree-optimization/33562
commit64123137ae395b0a94cc5b6ae31df25d7fae8042
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 13 Jan 2017 15:42:08 +0000 (13 15:42 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 13 Jan 2017 15:42:08 +0000 (13 15:42 +0000)
tree4f6529aeda7d903802356f90c11593f8123fef1d
parent79286215899f77b72c605f91e8c7f91046a58287
    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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244442 138bc75d-0d04-0410-961f-82ee72b054a4
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 [copied from gcc/testsuite/gcc.dg/tree-ssa/complex-4.c with 60% similarity]
gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-19.c [copied from gcc/testsuite/gcc.dg/tree-ssa/complex-4.c with 60% similarity]
gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-20.c [copied from gcc/testsuite/gcc.dg/tree-ssa/complex-5.c with 57% similarity]
gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-21.c [copied from gcc/testsuite/gcc.dg/tree-ssa/complex-5.c with 57% similarity]
gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-9.c
gcc/tree-ssa-dse.c