diff options
author | Richard Guenther <rguenther@suse.de> | 2006-01-05 13:53:54 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2006-01-05 13:53:54 +0000 |
commit | 3f519b3517efb1178aeec4be56d31c065f8d953f (patch) | |
tree | 6cf1f63c9110bc738fd2520546f623d74c55ebb4 /gcc/passes.c | |
parent | db55bccb017fdb4e23c9e1bd58ac72050974f27f (diff) | |
download | gcc-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.c | 5 |
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) { |