2014-06-13 Richard Biener <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 13 Jun 2014 10:21:40 +0000 (10:21 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 13 Jun 2014 10:21:40 +0000 (10:21 +0000)
commit60760c70505fd7089d4446aeea5fd3a046304eb8
treef0759513076163a54325c7033fa3eea9a9c9db00
parent2e1821c94cebb92802913ba7d8941bcf306b65f6
2014-06-13  Richard Biener  <rguenther@suse.de>

* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Rewrite to propagate the VN result into all uses where
possible and to remove stmts becoming dead because of that.
(eliminate): Generalize stmt removal handling, remove in
reverse dominator order to support proper debug stmt
generation.  Update stmts before removing stmts.
* tree-ssa-propagate.c (propagate_tree_value): Remove
bogus assert.

* c-c++-common/pr46562-2.c: Adjust.
* g++.dg/tree-ssa/pr8781.C: Likewise.
* gcc.dg/tree-ssa/ssa-fre-24.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-25.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-32.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-39.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-16.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211625 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/pr46562-2.c
gcc/testsuite/g++.dg/tree-ssa/pr8781.C
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-24.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-25.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-32.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-39.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-16.c
gcc/tree-ssa-pre.c
gcc/tree-ssa-propagate.c