This is the mail archive of the
mailing list for the GCC project.
Re: [tcb]: Port cleanup_tree_cfg_loop patch to TCB
- From: Diego Novillo <dnovillo at redhat dot com>
- To: Daniel Berlin <dberlin at dberlin dot org>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 29 Nov 2004 14:48:38 -0500
- Subject: Re: [tcb]: Port cleanup_tree_cfg_loop patch to TCB
- Organization: Red Hat Canada
- References: <Pine.LNX.email@example.com>
On Tue, 2004-11-23 at 17:44 -0500, Daniel Berlin wrote:
> Patch by Zdenek Dvorak (firstname.lastname@example.org)
> * Makefile.in (tree-optimize.o): Add $(CFGLOOP_H).
> * cfgloop.c (flow_loop_nodes_find): Make non-static.
> * cfgloop.h (fix_loop_structure): New prototype.
> * cfgloopmanip.c (fix_loop_structure): New function.
> * tree-cfg.c (cleanup_tree_cfg_loop): New function.
> (tree_can_merge_blocks_p): Protect loop latches when current_loops
> is non-NULL.
> (remove_bb): Handle updating of loop structure when current_loops
> is non-NULL.
> (tree_forwarder_block_p): Protect loop latches, headers, and
> preheaders when current_loops is non-NULL.
> * tree-flow.h (cleanup_tree_cfg_loop): New prototype.
> * tree-loop-linear (linear_transform_loops): The loop array may
> have nulls in it.
> * tree-optimize.c (init_tree_optimization_passes): Add CCP and
> copy-prop after loop-init.
> (execute_todo): Run cleanup_tree_cfg_loop when current_loops is
> * tree-ssa-copy.c (fini_copy_prop): Remove call to cleanup_tree_cfg.
> (pass_copy_prop): Add TODO_cleanup_cfg.
> * tree-ssa-loop-ivcanon.c (cnaonicalize_induction_variables):
> Remove call to cleanup_tree_cfg_loop.
> (tree_unroll_loops_completely): Ditto.
> * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Ditto.
> * tree-ssa-loop.c (pass_unswitch): Add TODO_cleanup_cfg.
> (pass_iv_canon): Ditto.
> (pass_complete_unroll): Ditto.