aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@redhat.com>2001-03-01 17:51:18 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2001-03-01 17:51:18 +0000
commit791f5e8d0bec6b8ad2e342ed0da098e4ed13c8cd (patch)
tree1fdd89c469fafbc384c4e15ba9e11bca23c7c749 /gcc
parent9c1eed37c411869369d45ac5bcf539efd8afa551 (diff)
downloadgcc-791f5e8d0bec6b8ad2e342ed0da098e4ed13c8cd.zip
gcc-791f5e8d0bec6b8ad2e342ed0da098e4ed13c8cd.tar.gz
gcc-791f5e8d0bec6b8ad2e342ed0da098e4ed13c8cd.tar.bz2
Undo some breakage introduced Feb 18
From-SVN: r40162
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/toplev.c10
2 files changed, 14 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cafcc01..8d14adf 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2001-03-01 Bernd Schmidt <bernds@redhat.com>
+
+ Fix a problem introduced by Kenner's Feb 18 change.
+ * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
+ flag_cse_skip_blocks only temporarily, not for ever.
+
Thu Mar 1 09:49:58 2001 Jeffrey A Law (law@cygnus.com)
* pa.c (emit_move_sequence): Verify operand0 is a hard register
diff --git a/gcc/toplev.c b/gcc/toplev.c
index b316178..68ba3ef 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -3002,7 +3002,6 @@ rest_of_compilation (decl)
/* If we are not running more CSE passes, then we are no longer
expecting CSE to be run. But always rerun it in a cheap mode. */
cse_not_expected = !flag_rerun_cse_after_loop && !flag_gcse;
- flag_cse_skip_blocks = flag_cse_follow_jumps = 0;
if (tem || optimize > 1)
{
@@ -3101,6 +3100,7 @@ rest_of_compilation (decl)
if (optimize > 0 && flag_gcse)
{
+ int save_csb, save_cfj;
int tem2 = 0;
timevar_push (TV_GCSE);
@@ -3110,6 +3110,10 @@ rest_of_compilation (decl)
cleanup_cfg (insns);
tem = gcse_main (insns, rtl_dump_file);
+ save_csb = flag_cse_skip_blocks;
+ save_cfj = flag_cse_follow_jumps;
+ flag_cse_skip_blocks = flag_cse_follow_jumps = 0;
+
/* If -fexpensive-optimizations, re-run CSE to clean up things done
by gcse. */
if (flag_expensive_optimizations)
@@ -3144,7 +3148,9 @@ rest_of_compilation (decl)
timevar_pop (TV_GCSE);
ggc_collect ();
- }
+ flag_cse_skip_blocks = save_csb;
+ flag_cse_follow_jumps = save_cfj;
+ }
/* Move constant computations out of loops. */