diff options
author | Kaz Kojima <kkojima@gcc.gnu.org> | 2009-05-12 22:49:25 +0000 |
---|---|---|
committer | Kaz Kojima <kkojima@gcc.gnu.org> | 2009-05-12 22:49:25 +0000 |
commit | 2b703e1aa2bba418175450095bfed7e38da8eeab (patch) | |
tree | eed33ffd668d942457a6027f966dc2a27a70e925 | |
parent | c3537723056c480ac4042581d4b82e536ecad9c5 (diff) | |
download | gcc-2b703e1aa2bba418175450095bfed7e38da8eeab.zip gcc-2b703e1aa2bba418175450095bfed7e38da8eeab.tar.gz gcc-2b703e1aa2bba418175450095bfed7e38da8eeab.tar.bz2 |
sh.h (OVERRIDE_OPTIONS): Clear flag_schedule_insns unless -fschedule-insns is specified.
* config/sh/sh.h (OVERRIDE_OPTIONS): Clear flag_schedule_insns
unless -fschedule-insns is specified.
From-SVN: r147454
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/sh/sh.h | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3a9c2b5..3d31637 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2009-05-12 Kaz Kojima <kkojima@gcc.gnu.org> + * config/sh/sh.h (OVERRIDE_OPTIONS): Clear flag_schedule_insns + unless -fschedule-insns is specified. + +2009-05-12 Kaz Kojima <kkojima@gcc.gnu.org> + PR target/39561 * config/sh/sh.h (OPTIMIZATION_OPTIONS): Don't set TARGET_EXPAND_CBRANCHDI4. diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index 8d73615..d63a7d6 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -709,8 +709,9 @@ do { \ /* Never run scheduling before reload, since that can \ break global alloc, and generates slower code anyway due \ to the pressure on R0. */ \ - /* Enable sched1 for SH4; ready queue will be reordered by \ - the target hooks when pressure is high. We can not do this for \ + /* Enable sched1 for SH4 if the user explicitly requests. \ + When sched1 is enabled, the ready queue will be reordered by \ + the target hooks if pressure is high. We can not do this for \ PIC, SH3 and lower as they give spill failures for R0. */ \ if (!TARGET_HARD_SH4 || flag_pic) \ flag_schedule_insns = 0; \ @@ -725,6 +726,8 @@ do { \ warning (0, "ignoring -fschedule-insns because of exception handling bug"); \ flag_schedule_insns = 0; \ } \ + else if (flag_schedule_insns == 2) \ + flag_schedule_insns = 0; \ } \ \ if (align_loops == 0) \ |