diff options
author | Jeff Law <law@redhat.com> | 2004-08-09 13:13:07 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2004-08-09 13:13:07 -0600 |
commit | 56b043c808696e62bde8e722741432a2b3caa032 (patch) | |
tree | 43d76704cc977318946377c4bb267eca1f611d0e /gcc/tree-cfg.c | |
parent | 9b305d55bf262d8896f15f6766bbf77c7f4aeb12 (diff) | |
download | gcc-56b043c808696e62bde8e722741432a2b3caa032.zip gcc-56b043c808696e62bde8e722741432a2b3caa032.tar.gz gcc-56b043c808696e62bde8e722741432a2b3caa032.tar.bz2 |
Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c
* Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c
(tree-ssa-threadupdate.o): Add dependencies.
* tree-ssa-threadupdate.c: New file.
* tree-flow.h (incoming_edge_threaded): New flag in block annotation.
(rewrite_vars_out_of_ssa): Remove prototype.
(cleanup_tree_cfg): Returns a bool.
* tree.h (thread_through_all_blocks): Prototype.
* tree-outof-ssa.c (SSANORM_*): Move into here.
(remove_ssa_form): Now static.
(rewrite_vars_out_of_ssa): Kill.
* tree-ssa-live.c (register_ssa_partitions_for_vars): Kill.
* tree-ssa-live.h (SSANORM_*): Moved into tree-outof-ssa.c.
(remove_ssa_form, register_partitions_for_vars): Kill declarations.
* tree-cfg.c (cleanup_tree_cfg): Return a value indicating if
anything was changed.
* tree-phinodes.c (add_phi_arg): Get the block for the PHI
from the PHI's annotation rather than the edge associated with
the new argument.
* tree-ssa-dom.c (redirection_edges): Kill.
(redirect_edges_and_update_ssa_graph): Kill.
(tree_ssa_dominator_optimize): Do not reset forwardable flag
for blocks anymore. Do not initialize redirection_edges.
Call thread_through_all_blocks. Simplify code for cleanup
of the CFG and iterating. No longer call cleanup_tree_cfg
outside the iteration loop.
(thread_across_edge): No longer mess with forwardable blocks.
From-SVN: r85721
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r-- | gcc/tree-cfg.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 86ac7ee..c9bc37c 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -717,10 +717,11 @@ make_goto_expr_edges (basic_block bb) /* Remove unreachable blocks and other miscellaneous clean up work. */ -void +bool cleanup_tree_cfg (void) { bool something_changed = true; + bool retval = false; timevar_push (TV_TREE_CLEANUP_CFG); @@ -731,6 +732,7 @@ cleanup_tree_cfg (void) something_changed = cleanup_control_flow (); something_changed |= delete_unreachable_blocks (); something_changed |= thread_jumps (); + retval |= something_changed; } /* Merging the blocks creates no new opportunities for the other @@ -743,6 +745,7 @@ cleanup_tree_cfg (void) verify_flow_info (); #endif timevar_pop (TV_TREE_CLEANUP_CFG); + return retval; } |