diff options
author | Jan Hubicka <jh@suse.cz> | 2008-07-20 18:06:51 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2008-07-20 16:06:51 +0000 |
commit | c72321c9a7c869ae5cb7f5bbec1ea4e8c8d3c50a (patch) | |
tree | b70810f9d05350b4f20a9fb3104039f83b6b3bb3 /gcc/passes.c | |
parent | d6cc6ec9d11523de305be40a6e0e36ea9996de57 (diff) | |
download | gcc-c72321c9a7c869ae5cb7f5bbec1ea4e8c8d3c50a.zip gcc-c72321c9a7c869ae5cb7f5bbec1ea4e8c8d3c50a.tar.gz gcc-c72321c9a7c869ae5cb7f5bbec1ea4e8c8d3c50a.tar.bz2 |
cgraph.c (cgraph_add_new_function): Do early local passes.
* cgraph.c (cgraph_add_new_function): Do early local passes.
* tree-nrv.c (gate_pass_return_slot): New gate.
(pass_nrv): Add the gate.
* tree-ssa-coalese.c (hash_ssa_name_by_var, eq_ssa_name_by_var): New
functions.
(coalesce_ssa_name): Coalesce SSA names.
* tree-ssa-live.c (remove_unused_locals): Be more conservative when
not optimizing so unused user vars remains visible.
* common.opt (flag_tree_ter): Always enable by default.
* tree-ssa-ter.c: Include flags.h
(is_replaceable_p): Check that locations match; when aliasing is missing
be conservative about loads.
* tree-optimize.c (gate_init_datastructures): Remove.
(pass_init_datastructures): New.
* passes.c: Reorder passes so we always go into SSA.
From-SVN: r138010
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index e1d019f..bccbe70 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -542,12 +542,13 @@ init_optimization_passes (void) NEXT_PASS (pass_cleanup_cfg); NEXT_PASS (pass_init_datastructures); NEXT_PASS (pass_expand_omp); + + NEXT_PASS (pass_referenced_vars); + NEXT_PASS (pass_reset_cc_flags); + NEXT_PASS (pass_build_ssa); NEXT_PASS (pass_all_early_optimizations); { struct opt_pass **p = &pass_all_early_optimizations.pass.sub; - NEXT_PASS (pass_referenced_vars); - NEXT_PASS (pass_reset_cc_flags); - NEXT_PASS (pass_build_ssa); NEXT_PASS (pass_early_warn_uninitialized); NEXT_PASS (pass_rebuild_cgraph_edges); NEXT_PASS (pass_early_inline); @@ -574,8 +575,8 @@ init_optimization_passes (void) NEXT_PASS (pass_tail_recursion); NEXT_PASS (pass_convert_switch); NEXT_PASS (pass_profile); - NEXT_PASS (pass_release_ssa_names); } + NEXT_PASS (pass_release_ssa_names); NEXT_PASS (pass_rebuild_cgraph_edges); } NEXT_PASS (pass_ipa_increase_alignment); @@ -712,11 +713,12 @@ init_optimization_passes (void) NEXT_PASS (pass_tail_calls); NEXT_PASS (pass_rename_ssa_copies); NEXT_PASS (pass_uncprop); - NEXT_PASS (pass_del_ssa); - NEXT_PASS (pass_nrv); - NEXT_PASS (pass_mark_used_blocks); - NEXT_PASS (pass_cleanup_cfg_post_optimizing); } + NEXT_PASS (pass_del_ssa); + NEXT_PASS (pass_nrv); + NEXT_PASS (pass_mark_used_blocks); + NEXT_PASS (pass_cleanup_cfg_post_optimizing); + NEXT_PASS (pass_warn_function_noreturn); NEXT_PASS (pass_free_datastructures); NEXT_PASS (pass_mudflap_2); |