From a5828d1e531377c4a8a279972c6c46d75da1b05d Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Mon, 10 Sep 2007 07:40:30 +0000 Subject: 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/toplev.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gcc/toplev.c') diff --git a/gcc/toplev.c b/gcc/toplev.c index b8d1f9c..76887bc 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -1920,6 +1920,13 @@ process_options (void) if (flag_var_tracking == AUTODETECT_VALUE) flag_var_tracking = optimize >= 1; + if (flag_tree_cselim == AUTODETECT_VALUE) +#ifdef HAVE_conditional_move + flag_tree_cselim = 1; +#else + flag_tree_cselim = 0; +#endif + /* If the user specifically requested variable tracking with tagging uninitialized variables, we need to turn on variable tracking. (We already determined above that variable tracking is feasible.) */ -- cgit v1.1