PR rtl-optimization/38740
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Jan 2009 16:05:41 +0000 (16:05 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Jan 2009 16:05:41 +0000 (16:05 +0000)
* reorg.c (gate_handle_delay_slots): Avoid dbr scheduling
if !optimize.
* config/mips/mips.c (mips_reorg): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143733 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/mips/mips.c
gcc/reorg.c

index 526398f..b2e3785 100644 (file)
@@ -1,3 +1,10 @@
+2009-01-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/38740
+       * reorg.c (gate_handle_delay_slots): Avoid dbr scheduling
+       if !optimize.
+       * config/mips/mips.c (mips_reorg): Likewise.
+
 2009-01-28  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/38926
index 55b1c22..c98528e 100644 (file)
@@ -13296,7 +13296,7 @@ mips_reorg (void)
   mips16_lay_out_constants ();
   if (mips_r10k_cache_barrier != R10K_CACHE_BARRIER_NONE)
     r10k_insert_cache_barriers ();
-  if (flag_delayed_branch)
+  if (optimize > 0 && flag_delayed_branch)
     dbr_schedule (get_insns ());
   mips_reorg_process_insns ();
   if (!TARGET_MIPS16
index fd6a58e..8b3219a 100644 (file)
@@ -4046,7 +4046,8 @@ static bool
 gate_handle_delay_slots (void)
 {
 #ifdef DELAY_SLOTS
-  return flag_delayed_branch && !crtl->dbr_scheduled_p;
+  /* At -O0 dataflow info isn't updated after RA.  */
+  return optimize > 0 && flag_delayed_branch && !crtl->dbr_scheduled_p;
 #else
   return 0;
 #endif