diff options
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/passes.c | 12 |
2 files changed, 4 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 06ad3a43b9c..0f92ece2a9d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -4,6 +4,9 @@ simplify-rtx.c, tree-ssa-live.h: Fix comment typos. Follow spelling conventions. + * passes.c (rest_of_handle_gcse): Don't run cse_main and + delete_trivially_dead_insns too many times. + 2005-02-12 Ira Rosen <irar@il.ibm.com> * tree-vectorizer.c (vect_get_base_and_offset): Remove. diff --git a/gcc/passes.c b/gcc/passes.c index 723656f4cd8..185699e3e1c 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -1049,23 +1049,13 @@ rest_of_handle_gcse (void) /* If gcse or cse altered any jumps, rerun jump optimizations to clean things up. Then possibly re-run CSE again. */ - while (tem || tem2) + if (tem || tem2) { tem = tem2 = 0; timevar_push (TV_JUMP); rebuild_jump_labels (get_insns ()); cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_PRE_LOOP); timevar_pop (TV_JUMP); - - if (flag_expensive_optimizations) - { - timevar_push (TV_CSE); - reg_scan (get_insns (), max_reg_num ()); - tem2 = cse_main (get_insns (), max_reg_num (), dump_file); - purge_all_dead_edges (0); - delete_trivially_dead_insns (get_insns (), max_reg_num ()); - timevar_pop (TV_CSE); - } } close_dump_file (DFI_gcse, print_rtl_with_bb, get_insns ()); |