m68k.c (m68k_sched_variable_issue): Handle -fsched-pressure.
authorMaxim Kuvyrkov <maxim@codesourcery.com>
Fri, 15 Apr 2011 10:03:46 +0000 (10:03 +0000)
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>
Fri, 15 Apr 2011 10:03:46 +0000 (10:03 +0000)
* config/m68k/m68k.c (m68k_sched_variable_issue): Handle
-fsched-pressure.

From-SVN: r172481

gcc/ChangeLog
gcc/config/m68k/m68k.c

index 3eb95e437d65341018c11c8ce53fd49bf160d5e1..b30b8176d28414f17efdca88d18816458a5a743b 100644 (file)
@@ -1,3 +1,8 @@
+2011-04-15  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       * config/m68k/m68k.c (m68k_sched_variable_issue): Handle
+       -fsched-pressure.
+
 2011-04-15  Georg-Johann Lay  <avr@gjlay.de>
        
        * config/avr/avr.md ("rotl<mode>3",mode=HIDI): Use match_dup
index 3953d01578c6224ccc1023c571ac8ac34c022783..654c0e5cfbc0fb0a39a233c49439c128d79a8c13 100644 (file)
@@ -6128,7 +6128,14 @@ m68k_sched_variable_issue (FILE *sched_dump ATTRIBUTE_UNUSED,
          gcc_unreachable ();
        }
 
-      gcc_assert (insn_size <= sched_ib.filled);
+      if (insn_size > sched_ib.filled)
+       /* Scheduling for register pressure does not always take DFA into
+          account.  Workaround instruction buffer not being filled enough.  */
+       {
+         gcc_assert (sched_pressure_p);
+         insn_size = sched_ib.filled;
+       }
+
       --can_issue_more;
     }
   else if (GET_CODE (PATTERN (insn)) == ASM_INPUT