aboutsummaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2007-09-10 07:40:30 +0000
committerMichael Matz <matz@gcc.gnu.org>2007-09-10 07:40:30 +0000
commita5828d1e531377c4a8a279972c6c46d75da1b05d (patch)
treec03c05f82a86dbfb3dca7ceb9ce0a4d39d1efdbc /gcc/toplev.c
parentcf369845fd042cc7bd25cb8b824857af6f22f446 (diff)
downloadgcc-a5828d1e531377c4a8a279972c6c46d75da1b05d.zip
gcc-a5828d1e531377c4a8a279972c6c46d75da1b05d.tar.gz
gcc-a5828d1e531377c4a8a279972c6c46d75da1b05d.tar.bz2
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
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c7
1 files changed, 7 insertions, 0 deletions
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.) */