Commit e13602df by Kaz Kojima

sh.h (OPTIMIZATION_OPTIONS): Set flag_schedule_insns to 2 if it's already non-zero.

	* 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.

From-SVN: r105496
parent a95c63d8
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> 2005-10-17 Paul Woegerer <paul.woegerer@nsc.com>
* config/crx/crx.md: Compare-and-branch instructions need to * config/crx/crx.md: Compare-and-branch instructions need to
......
...@@ -486,6 +486,10 @@ do { \ ...@@ -486,6 +486,10 @@ do { \
flag_finite_math_only. We set it to 2 here so we know if the user \ flag_finite_math_only. We set it to 2 here so we know if the user \
explicitly requested this to be on or off. */ \ explicitly requested this to be on or off. */ \
flag_finite_math_only = 2; \ 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) } while (0)
#define ASSEMBLER_DIALECT assembler_dialect #define ASSEMBLER_DIALECT assembler_dialect
...@@ -661,6 +665,17 @@ do { \ ...@@ -661,6 +665,17 @@ do { \
SH3 and lower as they give spill failures for R0. */ \ SH3 and lower as they give spill failures for R0. */ \
if (!TARGET_HARD_SH4) \ if (!TARGET_HARD_SH4) \
flag_schedule_insns = 0; \ 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) \ if (align_loops == 0) \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment