aboutsummaryrefslogtreecommitdiff
path: root/gcc/passes.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2006-01-05 13:53:54 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2006-01-05 13:53:54 +0000
commit3f519b3517efb1178aeec4be56d31c065f8d953f (patch)
tree6cf1f63c9110bc738fd2520546f623d74c55ebb4 /gcc/passes.c
parentdb55bccb017fdb4e23c9e1bd58ac72050974f27f (diff)
downloadgcc-3f519b3517efb1178aeec4be56d31c065f8d953f.zip
gcc-3f519b3517efb1178aeec4be56d31c065f8d953f.tar.gz
gcc-3f519b3517efb1178aeec4be56d31c065f8d953f.tar.bz2
tree-pass.h (TODO_remove_unused_locals): Define.
2006-01-05 Richard Guenther <rguenther@suse.de> Diego Novillo <dnovillo@redhat.com> * tree-pass.h (TODO_remove_unused_locals): Define. * gimple-low.c (expand_var_p, remove_useless_vars, pass_remove_useless_vars): Remove. Update all users. * tree-ssa-live.c (mark_all_vars_used_1): Handle SSA names. (remove_unused_locals): New function. * tree-flow.h (remove_unused_locals): Declare. * passes.c (execute_todo): Call remove_unused_locals if TODO_remove_unused_locals is set. * tree-into-ssa.c (pass_build_ssa): Add TODO_remove_unused_locals. * tree-ssa-dce.c (pass_dce): Likewise. * tree-outof-ssa.c (pass_del_ssa): Likewise. * gcc.dg/tree-ssa/loop-11.c: Deal with removed vars pass. * gcc.dg/tree-ssa/loop-8.c: Likewise. * gcc.dg/tree-ssa/loop-1.c: Likewise. * gcc.dg/tree-ssa/pr23294.c: Likewise. * gcc.dg/tree-ssa/pr21985.c: Likewise. * gcc.dg/tree-ssa/loop-14.c: Likewise. * gcc.dg/tree-ssa/loop-2.c: Likewise. * gcc.dg/tree-ssa/loop-3.c: Likewise. * gcc.dg/tree-ssa/loop-4.c: Likewise. * gcc.dg/tree-ssa/pr21171.c: Likewise. * gcc.dg/tree-ssa/loop-5.c: Likewise. * gcc.dg/tree-ssa/loop-10.c: Likewise. * gcc.dg/tree-ssa/loop-6.c: Likewise. * treelang/compile/extravar.tree: Likewise. * g++.dg/tree-ssa/ssa-cast-1.C: Likewise. * g++.dg/tree-ssa/pointer-reference-alias.C: Likewise. * g++.dg/tree-ssa/ssa-sra-1.C: Likewise. * g++.dg/tree-ssa/ssa-sra-2.C: Likewise. * gcc.dg/tree-ssa/20031106-6.c: Disable SRA. Co-Authored-By: Diego Novillo <dnovillo@redhat.com> From-SVN: r109379
Diffstat (limited to 'gcc/passes.c')
-rw-r--r--gcc/passes.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/passes.c b/gcc/passes.c
index dcff796..903a9fb 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -586,7 +586,6 @@ init_optimization_passes (void)
NEXT_PASS (pass_uncprop);
NEXT_PASS (pass_del_ssa);
NEXT_PASS (pass_nrv);
- NEXT_PASS (pass_remove_useless_vars);
NEXT_PASS (pass_mark_used_blocks);
NEXT_PASS (pass_cleanup_cfg_post_optimizing);
*p = NULL;
@@ -702,7 +701,6 @@ init_optimization_passes (void)
}
static unsigned int last_verified;
-
static void
execute_todo (struct tree_opt_pass *pass, unsigned int flags, bool use_required)
{
@@ -738,6 +736,9 @@ execute_todo (struct tree_opt_pass *pass, unsigned int flags, bool use_required)
update_ssa (update_flags);
}
+ if (flags & TODO_remove_unused_locals)
+ remove_unused_locals ();
+
if ((flags & TODO_dump_func)
&& dump_file && current_function_decl)
{