2018-05-16 Richard Biener <rguenther@suse.de>
commit560934d2861093df1c126ca28776c54779bb5aa6
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 16 May 2018 13:02:27 +0000 (16 13:02 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 16 May 2018 13:02:27 +0000 (16 13:02 +0000)
tree458fa57074883441e57ab838c7d5537943e23ee7
parent187ee2a2583d1a9657939e3cc31db05f1cfca04c
2018-05-16  Richard Biener  <rguenther@suse.de>

* params.def (PARAM_DSE_MAX_ALIAS_QUERIES_PER_STORE): New param.
* doc/invoke.texi (dse-max-alias-queries-per-store): Document.
* tree-ssa-dse.c: Include tree-ssa-loop.h.
(check_name): New callback.
(dse_classify_store): Track cycles via a visited bitmap of PHI
defs and simplify handling of in-loop and across loop dead stores
and properly fail for loop-variant refs.  Handle byte-tracking with
multiple defs.  Use PARAM_DSE_MAX_ALIAS_QUERIES_PER_STORE for
limiting the walk.

* gcc.dg/tree-ssa/ssa-dse-32.c: New testcase.
* gcc.dg/tree-ssa/ssa-dse-33.c: Likewise.
* gcc.dg/uninit-pr81897-2.c: Use -fno-tree-dse.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@260288 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/doc/invoke.texi
gcc/params.def
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-32.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-33.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/uninit-pr81897-2.c
gcc/tree-ssa-dse.c