aboutsummaryrefslogtreecommitdiff
blob: 61262f24cfdbae7a5e032621e7edc7e809da8d28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
http://gcc.gnu.org/PR38740

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.

--- trunk/gcc/reorg.c	2009/01/28 15:12:11	143732
+++ trunk/gcc/reorg.c	2009/01/28 16:05:41	143733
@@ -4046,7 +4046,8 @@
 gate_handle_delay_slots (void)
 {
 #ifdef DELAY_SLOTS
-  return flag_delayed_branch;
+  /* At -O0 dataflow info isn't updated after RA.  */
+  return optimize > 0 && flag_delayed_branch;
 #else
   return 0;
 #endif
--- trunk/gcc/config/mips/mips.c	2009/01/28 15:12:11	143732
+++ trunk/gcc/config/mips/mips.c	2009/01/28 16:05:41	143733
@@ -13296,7 +13296,7 @@
   mips16_lay_out_constants ();
   if (mips_r10k_cache_barrier != R10K_CACHE_BARRIER_NONE)
     r10k_insert_cache_barriers ();
-  if (mips_base_delayed_branch)
+  if (optimize > 0 && mips_base_delayed_branch)
     dbr_schedule (get_insns ());
   mips_reorg_process_insns ();
   if (!TARGET_MIPS16