diff options
author | matz <matz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-09-10 07:40:30 +0000 |
---|---|---|
committer | matz <matz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-09-10 07:40:30 +0000 |
commit | e6d0e15268c1a3b1257533bedcfa0500372d14a9 (patch) | |
tree | c03c05f82a86dbfb3dca7ceb9ce0a4d39d1efdbc /gcc/passes.c | |
parent | ecd7bb6838c3e158ce1d45ed12b8dda512f368bf (diff) | |
download | gcc-e6d0e15268c1a3b1257533bedcfa0500372d14a9.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128324 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index 1b88414dd01..7f4484226e6 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 |