This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch RFC] SH: Fix build failure
- From: Kaz Kojima <kkojima at rr dot iij4u dot or dot jp>
- To: gcc-patches at gcc dot gnu dot org
- Cc: joern dot rennecke at st dot com, aoliva at redhat dot com
- Date: Mon, 13 Nov 2006 22:01:12 +0900 (JST)
- Subject: [patch RFC] SH: Fix build failure
Hi,
The attached patch is a quick fix for the build failure on
sh*-elf which is caused by the removal of NOTE_INSN_LOOP_*,
though the first hunk is to silence a bogus compile time
warning and logically independent. It simply makes the code
using NOTE_INSN_LOOP_* #if 0'ed out.
Regards,
kaz
--
:ADDPATCH target:
2006-11-13 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/sh.c (expand_cbranchdi4): Initialize skip_label.
(sh_optimize_target_register_callee_saved): #if 0 the code
using NOTE_INSN_LOOP_{BEG,END}.
--- ORIG/trunk/gcc/config/sh/sh.c 2006-11-05 10:02:45.000000000 +0900
+++ LOCAL/trunk/gcc/config/sh/sh.c 2006-11-12 20:48:22.000000000 +0900
@@ -1483,7 +1483,7 @@ bool
expand_cbranchdi4 (rtx *operands, enum rtx_code comparison)
{
enum rtx_code msw_taken, msw_skip, lsw_taken;
- rtx skip_label;
+ rtx skip_label = NULL_RTX;
rtx op1h, op1l, op2h, op2l;
int num_branches;
int prob, rev_prob;
@@ -9398,7 +9398,9 @@ static bool
sh_optimize_target_register_callee_saved (bool after_prologue_epilogue_gen)
{
HARD_REG_SET dummy;
+#if 0
rtx insn;
+#endif
if (! shmedia_space_reserved_for_target_registers)
return 0;
@@ -9406,6 +9408,7 @@ sh_optimize_target_register_callee_saved
return 0;
if (calc_live_regs (&dummy) >= 6 * 8)
return 1;
+#if 0
/* This is a borderline case. See if we got a nested loop, or a loop
with a call, or with more than 4 labels inside. */
for (insn = get_insns(); insn; insn = NEXT_INSN (insn))
@@ -9428,6 +9431,7 @@ sh_optimize_target_register_callee_saved
|| NOTE_LINE_NUMBER (insn) != NOTE_INSN_LOOP_END);
}
}
+#endif
return 0;
}