aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2005-02-13 03:49:53 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2005-02-13 03:49:53 +0000
commit6f9087d7fb321d7a48df203cfb72d3ded5f6109d (patch)
tree51e3c8d6b0c58fe0d44d98ea7df24d8177fb792f /gcc
parent1da0802999ad04737ec97e85690e1342ec9768ec (diff)
downloadgcc-6f9087d7fb321d7a48df203cfb72d3ded5f6109d.zip
gcc-6f9087d7fb321d7a48df203cfb72d3ded5f6109d.tar.gz
gcc-6f9087d7fb321d7a48df203cfb72d3ded5f6109d.tar.bz2
passes.c (rest_of_handle_gcse): Don't run cse_main and delete_trivially_dead_insns too many times.
* passes.c (rest_of_handle_gcse): Don't run cse_main and delete_trivially_dead_insns too many times. From-SVN: r94963
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/passes.c12
2 files changed, 4 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 06ad3a4..0f92ece 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 723656f..185699e 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 ());