tree-pass.h (pass_cselim): Declare new pass.
authorMichael Matz <matz@suse.de>
Mon, 10 Sep 2007 07:40:30 +0000 (07:40 +0000)
committerMichael Matz <matz@gcc.gnu.org>
Mon, 10 Sep 2007 07:40:30 +0000 (07:40 +0000)
commita5828d1e531377c4a8a279972c6c46d75da1b05d
treec03c05f82a86dbfb3dca7ceb9ce0a4d39d1efdbc
parentcf369845fd042cc7bd25cb8b824857af6f22f446
tree-pass.h (pass_cselim): Declare new pass.

        * tree-pass.h (pass_cselim): Declare new pass.
        * passes.c (init_optimization_passes): Link in pass_cselim.
        * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Renamed from
        tree_ssa_phiopt; add do_store_elim parameter, handle it by calling
        cond_store_replacement.
        (condstoretemp): New static variable.
        (cond_store_replacement): New function.
        (tree_ssa_phiopt, tree_ssa_cs_elim): New wrappers around
        tree_ssa_phiopt_worker.
        (struct name_to_bb): New.
        (get_non_trapping, name_to_bb_hash, name_to_bb_eq, add_or_mark_expr,
        nt_init_block, nt_fini_block): New static functions.
        (seen_ssa_names, nontrap_set): New static variables.
        (gate_cselim, pass_cselim): Define new pass.
        * common.opt (ftree-cselim): New flag.
        * toplev.c (process_options): Set flag_tree_cselim if required.

From-SVN: r128324
gcc/ChangeLog
gcc/common.opt
gcc/passes.c
gcc/toplev.c
gcc/tree-pass.h
gcc/tree-ssa-phiopt.c