* tree-ssa-loop.c (pass_vect_dce): Remove.
* passes.c (init_optimization_passes): Add pass_dce as a sub-pass
of pass_vectorize.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104382
138bc75d-0d04-0410-961f-
82ee72b054a4
2005-09-17 Richard Henderson <rth@redhat.com>
+ * tree-pass.h, tree-flow.h, tree-ssa-dce.c: Revert last change.
+ * tree-ssa-loop.c (pass_vect_dce): Remove.
+ * passes.c (init_optimization_passes): Add pass_dce as a sub-pass
+ of pass_vectorize.
+
+2005-09-17 Richard Henderson <rth@redhat.com>
+
* tree-pass.h (pass_vect_dce): Declare.
* passes.c (init_optimization_passes): Add it.
* tree-flow.h (tree_ssa_dce): Declare.
NEXT_PASS (pass_iv_canon);
NEXT_PASS (pass_if_conversion);
NEXT_PASS (pass_vectorize);
- NEXT_PASS (pass_vect_dce);
/* NEXT_PASS (pass_may_alias) cannot be done again because the
vectorizer creates alias relations that are not supported by
pass_may_alias. */
NEXT_PASS (pass_tree_loop_done);
*p = NULL;
+ p = &pass_vectorize.sub;
+ NEXT_PASS (pass_dce);
+ *p = NULL;
+
p = &pass_loop2.sub;
NEXT_PASS (pass_rtl_loop_init);
NEXT_PASS (pass_rtl_move_loop_invariants);
the loop), then the information would be lost. */
};
-/* In tree-ssa-dce.c */
-void tree_ssa_dce (void);
-
/* In tree-vectorizer.c */
void vectorize_loops (struct loops *);
extern struct tree_opt_pass pass_record_bounds;
extern struct tree_opt_pass pass_if_conversion;
extern struct tree_opt_pass pass_vectorize;
-extern struct tree_opt_pass pass_vect_dce;
extern struct tree_opt_pass pass_complete_unroll;
extern struct tree_opt_pass pass_iv_optimize;
extern struct tree_opt_pass pass_tree_loop_done;
}
/* Pass entry points. */
-void
+static void
tree_ssa_dce (void)
{
perform_tree_ssa_dce (/*aggressive=*/false);
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. */
static void