aboutsummaryrefslogtreecommitdiff
path: root/gcc/passes.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/passes.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/passes.c')
-rw-r--r--gcc/passes.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/passes.c b/gcc/passes.c
index 1b88414..7f44842 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -569,6 +569,7 @@ init_optimization_passes (void)
NEXT_PASS (pass_merge_phi);
NEXT_PASS (pass_vrp);
NEXT_PASS (pass_dce);
+ NEXT_PASS (pass_cselim);
NEXT_PASS (pass_dominator);
/* The only const/copy propagation opportunities left after
DOM should be due to degenerate PHI nodes. So rather than