OSDN Git Service

Undo some breakage introduced Feb 18
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 Mar 2001 17:51:18 +0000 (17:51 +0000)
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 Mar 2001 17:51:18 +0000 (17:51 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40162 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/toplev.c

index cafcc01..8d14adf 100644 (file)
@@ -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
index b316178..68ba3ef 100644 (file)
@@ -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.  */