/usr/src/gcc-4.4/debian/patches/sh4-scheduling.diff is in gcc-4.4-source 4.4.7-1ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | # DP: sh4 scheduling fix
2009-05-12 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/sh.h (OVERRIDE_OPTIONS): Clear flag_schedule_insns
unless -fschedule-insns is specified.
--- a/src/gcc/config/sh/sh.h 2009-05-12 22:06:55.000000000 +0900
+++ b/src/gcc/config/sh/sh.h 2009-05-12 22:07:10.000000000 +0900
@@ -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) \
|