summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-07-26 05:48:44 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-07-26 06:19:21 -0700
commitd08bf520578bc5105820f21ad3e70ba487e5cbff (patch)
treebb23edbcb1c1b26da9f0a966248fac93d856b4ff
parent140827931922cd7bfd22037fede148dcbf804e72 (diff)
downloadgcc-hjl/x86/gcc-4_8-branch.tar.gz
Remove unused locals in tree SSA dcehjl/x86/gcc-4_8-branch
Partially revert: commit 560965e9b33deb5fa67c848c8b14ea7bbb42e8a2 Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Wed Feb 20 15:19:13 2013 +0000 2013-02-20 Richard Biener <rguenther@suse.de> * tree-call-cdce.c (tree_call_cdce): Do not remove unused locals. * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise. * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise. * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do not return anything. (rename_ssa_copies): Do not remove unused locals. * tree-ssa-ccp.c (do_ssa_ccp): Likewise. * tree-ssanames.c (pass_release_ssa_names): Remove unused locals first. * passes.c (execute_function_todo): Do not schedule unused locals removal if cleanup_tree_cfg did something. * tree-ssa-live.c (remove_unused_locals): Dump statistics about the number of removed locals. * tree-ssa-dce.c (perform_tree_ssa_dce): Remove unused locals.
-rw-r--r--gcc/tree-ssa-dce.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c
index 7a3434b173c..f9adb20098d 100644
--- a/gcc/tree-ssa-dce.c
+++ b/gcc/tree-ssa-dce.c
@@ -1605,8 +1605,10 @@ perform_tree_ssa_dce (bool aggressive)
free_edge_list (el);
if (something_changed)
- return TODO_update_ssa | TODO_cleanup_cfg;
- return 0;
+ return (TODO_update_ssa | TODO_cleanup_cfg
+ | TODO_remove_unused_locals);
+ else
+ return 0;
}
/* Pass entry points. */