+2005-10-17 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.h (OPTIMIZATION_OPTIONS): Set flag_schedule_insns
+ to 2 if it's already non-zero.
+ (OVERRIDE_OPTIONS): Clear flag_schedule_insns if flag_exceptions
+ is set and warn about it if flag_schedule_insns is 1.
+
2005-10-17 Paul Woegerer <paul.woegerer@nsc.com>
* config/crx/crx.md: Compare-and-branch instructions need to
flag_finite_math_only. We set it to 2 here so we know if the user \
explicitly requested this to be on or off. */ \
flag_finite_math_only = 2; \
+ /* If flag_schedule_insns is 1, we set it to 2 here so we know if \
+ the user explicitly requested this to be on or off. */ \
+ if (flag_schedule_insns > 0) \
+ flag_schedule_insns = 2; \
} while (0)
#define ASSEMBLER_DIALECT assembler_dialect
SH3 and lower as they give spill failures for R0. */ \
if (!TARGET_HARD_SH4) \
flag_schedule_insns = 0; \
+ /* ??? Current exception handling places basic block boundaries \
+ after call_insns. It causes the high pressure on R0 and gives \
+ spill failures for R0 in reload. See PR 22553 and the thread \
+ on gcc-patches \
+ <http://gcc.gnu.org/ml/gcc-patches/2005-10/msg00816.html>. */ \
+ else if (flag_exceptions) \
+ { \
+ if (flag_schedule_insns == 1) \
+ warning (0, "ignoring -fschedule-insns because of exception handling bug"); \
+ flag_schedule_insns = 0; \
+ } \
} \
\
if (align_loops == 0) \