summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-13 03:49:53 +0000
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-13 03:49:53 +0000
commit251533a8f908386a7b27139f32e06cd50a1a7769 (patch)
tree51e3c8d6b0c58fe0d44d98ea7df24d8177fb792f /gcc
parentefaf2f51c720874be8f131df8ba433046c09c321 (diff)
downloadgcc-251533a8f908386a7b27139f32e06cd50a1a7769.tar.gz
* passes.c (rest_of_handle_gcse): Don't run cse_main and
delete_trivially_dead_insns too many times. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94963 138bc75d-0d04-0410-961f-82ee72b054a4
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 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 ());