This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] remove PENDING_STMT hijack


On 10/9/07, Aldy Hernandez <aldyh@redhat.com> wrote:

>         * cfg.c: Include tree-flow.h.
>         (remove_edge_raw): Call redirect_edge_var_map_clear.
>         (redirect_edge_succ_nodup): Call redirect_edge_var_map_dup.
>         * tree-flow-inline.h (redirect_edge_var_map_def): New.
>         (redirect_edge_var_map_result): New.
>         * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Replace
>         PENDING_STMT use with redirect_edge_var_map_*.
>         * tree-ssa.c (edge_var_maps): New definition.
>         (redirect_edge_var_map_add): New.
>         (redirect_edge_var_map_clear): New.
>         (redirect_edge_var_map_dup): New.
>         (redirect_edge_var_map_vector): New.
>         (redirect_edge_var_map_destroy): New.
>         (ssa_redirect_edge): Replace PENDING_STMT use with
>         redirect_edge_var_map_*.
>         (flush_pending_stmts): Same.
>         (delete_tree_ssa): Destroy edge var map.
>         * tree-flow.h (struct _edge_var_map): New.
>         Define edge_var_map vector type.
>         Declare redirect_edge_var_map_* prototypes.
>         * Makefile.in (cfg.o): Depend on TREE_FLOW_H.
>         * tree-cfg.c (reinstall_phi_args): Replace
>         PENDING_STMT use with redirect_edge_var_map_*.

OK for trunk after we go back to stage 1.  OK for tuples branch.

Thanks for fixing this!  One nit:

> +/* Duplicate the redirected var mappings in OLDE in NEWE.
> +
> +   Since we can't remove a mapping, let's just duplicate it.  This assumes a
> +   pointer_map can have multiple edges mapping to the same var_map (many to one
> +   mapping), since we don't remove the previous mappings.
> +*/

Closing comment in previous line.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]