2005-03-01 Daniel Berlin <dberlin@dberlin.org>
commit5e733b0261a2650d1574be49c7e155768003c59d
authordberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 1 Mar 2005 17:59:06 +0000 (1 17:59 +0000)
committerdberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 1 Mar 2005 17:59:06 +0000 (1 17:59 +0000)
tree126cecfe4e30597e3e21ba835c4893c2e3f19195
parent3cc68dd82f269732a8dc175645f1ea36fd8bcd86
2005-03-01  Daniel Berlin <dberlin@dberlin.org>

* Makefile.in (tree-ssa-sink.o): New.
(OBJS-common): Add tree-ssa-sink.o.
* common.opt: Add -ftree-sink
* opts.c (decode_options): flag_tree_sink is set at O1 or higher.
* timevar.def (TV_TREE_SINK): new timevar.
* tree-flow.h (is_hidden_global_store): Prototype.
* tree-optimize.c (init_tree_optimization_passes): Add
pass_sink_code.
* tree-pass.h (pass_sink_code): New.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Move checking
for non-obvious global store store to is_hidden_global_store, and
call that new function.
* tree-ssa-sink.c: New file.
* doc/invoke.texi: Document -fdump-tree-sink and -ftree-sink.
* doc/passes.texi: Document forward store motion.
* testsuite/gcc.dg/tree-ssa/ssa-sink-1.c: New test
* testsuite/gcc.dg/tree-ssa/ssa-sink-2.c: New test
* testsuite/gcc.dg/tree-ssa/ssa-sink-3.c: New test
* testsuite/gcc.dg/tree-ssa/ssa-sink-4.c: New test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95750 138bc75d-0d04-0410-961f-82ee72b054a4
15 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/common.opt
gcc/doc/invoke.texi
gcc/doc/passes.texi
gcc/opts.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-4.c [new file with mode: 0644]
gcc/timevar.def
gcc/tree-flow.h
gcc/tree-optimize.c
gcc/tree-pass.h
gcc/tree-ssa-dce.c