diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-09-17 21:46:20 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-09-17 21:46:20 +0000 |
commit | b05643af9ff1420bc06f25cba2150be013030a6f (patch) | |
tree | 413d9496ae75a23076489beca6df3159d54426a2 /gcc/tree-ssa-loop.c | |
parent | 318077fa8b5f669b6bdf6947c4674cd1e05aadf8 (diff) | |
download | gcc-b05643af9ff1420bc06f25cba2150be013030a6f.tar.gz |
* tree-pass.h (pass_vect_dce): Declare.
* passes.c (init_optimization_passes): Add it.
* tree-flow.h (tree_ssa_dce): Declare.
* tree-ssa-dce.c (tree_ssa_dce): Export.
* tree-ssa-loop.c (tree_vectorize): Move current_loops check ...
(gate_tree_vectorize): ... here.
(pass_vect_dce): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104376 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-loop.c')
-rw-r--r-- | gcc/tree-ssa-loop.c | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/gcc/tree-ssa-loop.c b/gcc/tree-ssa-loop.c index 692f9b10e63..ce629726e79 100644 --- a/gcc/tree-ssa-loop.c +++ b/gcc/tree-ssa-loop.c @@ -188,16 +188,13 @@ struct tree_opt_pass pass_tree_unswitch = static void tree_vectorize (void) { - if (!current_loops) - return; - vectorize_loops (current_loops); } static bool gate_tree_vectorize (void) { - return flag_tree_vectorize != 0; + return flag_tree_vectorize && current_loops; } struct tree_opt_pass pass_vectorize = @@ -217,6 +214,26 @@ struct tree_opt_pass pass_vectorize = 0 /* letter */ }; +struct tree_opt_pass pass_vect_dce = +{ + "vect_dce", /* name */ + gate_tree_vectorize, /* gate */ + tree_ssa_dce, /* execute */ + NULL, /* sub */ + NULL, /* next */ + 0, /* static_pass_number */ + TV_TREE_DCE, /* tv_id */ + PROP_cfg | PROP_ssa | PROP_alias, /* properties_required */ + 0, /* properties_provided */ + 0, /* properties_destroyed */ + 0, /* todo_flags_start */ + TODO_dump_func + | TODO_update_ssa_no_phi + | TODO_cleanup_cfg + | TODO_ggc_collect + | TODO_verify_ssa, /* todo_flags_finish */ + 0 /* letter */ +}; /* Loop nest optimizations. */ |