]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/tree-ssa-sink.c
re PR tree-optimization/41490 (tree-ssa-sink does not really work)
authorRichard Guenther <rguenther@suse.de>
Tue, 15 Mar 2011 11:09:09 +0000 (11:09 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 15 Mar 2011 11:09:09 +0000 (11:09 +0000)
commite106efc7801f8607c3453673a8c261cb59c3afb0
tree676bfe35c1401333a3e6069eaf9dfdb1c6b71af8
parent17dea42fc45256b06cb19bc36b18e77fdc0f20a6
re PR tree-optimization/41490 (tree-ssa-sink does not really work)

2011-03-15  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/41490
* tree-ssa-dce.c (propagate_necessity): Handle returns without
value but with VUSE.
* tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
return statements.
* tree-ssa-sink.c (statement_sink_location): Fix store sinking.
* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
* tree-tailcall.c (find_tail_calls): Ignore returns.

* gcc.dg/tree-ssa/ssa-sink-6.c: New testcase.
* gcc.dg/tree-ssa/ssa-sink-7.c: Likewise.
* gcc.dg/tree-ssa/ssa-sink-8.c: Likewise.
* gcc.dg/tree-ssa/ssa-sink-9.c: Likewise.
* g++.dg/tree-ssa/pr33604.C: Adjust.

From-SVN: r170984
12 files changed:
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/tree-ssa/pr33604.C
gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-6.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-7.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-8.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-9.c [new file with mode: 0644]
gcc/tree-ssa-dce.c
gcc/tree-ssa-operands.c
gcc/tree-ssa-phiopt.c
gcc/tree-ssa-sink.c
gcc/tree-tailcall.c