aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/passes.c5
-rw-r--r--gcc/tree-flow.h3
-rw-r--r--gcc/tree-pass.h1
-rw-r--r--gcc/tree-ssa-dce.c2
-rw-r--r--gcc/tree-ssa-loop.c21
6 files changed, 12 insertions, 27 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b32d3c08d98..20db797d9e0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
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.
diff --git a/gcc/passes.c b/gcc/passes.c
index bf6db2cda73..6a35b1750a7 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -567,7 +567,6 @@ init_optimization_passes (void)
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. */
@@ -577,6 +576,10 @@ init_optimization_passes (void)
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);
diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h
index ee539716678..fa5c1d692df 100644
--- a/gcc/tree-flow.h
+++ b/gcc/tree-flow.h
@@ -707,9 +707,6 @@ struct tree_niter_desc
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 *);
diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h
index cca51d3d6a3..57dc029438e 100644
--- a/gcc/tree-pass.h
+++ b/gcc/tree-pass.h
@@ -234,7 +234,6 @@ extern struct tree_opt_pass pass_empty_loop;
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;
diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c
index e77bc6008a3..8902d2a2e0a 100644
--- a/gcc/tree-ssa-dce.c
+++ b/gcc/tree-ssa-dce.c
@@ -935,7 +935,7 @@ perform_tree_ssa_dce (bool aggressive)
}
/* Pass entry points. */
-void
+static void
tree_ssa_dce (void)
{
perform_tree_ssa_dce (/*aggressive=*/false);
diff --git a/gcc/tree-ssa-loop.c b/gcc/tree-ssa-loop.c
index ce629726e79..34126b16fa0 100644
--- a/gcc/tree-ssa-loop.c
+++ b/gcc/tree-ssa-loop.c
@@ -214,27 +214,6 @@ 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. */
static void