This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH]: Fix mips breakage after fdl-pool patch
- From: Maxim Kuvyrkov <maxim at codesourcery dot com>
- To: Richard Sandiford <richard at codesourcery dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 15 Aug 2007 17:08:43 +0400
- Subject: [PATCH]: Fix mips breakage after fdl-pool patch
Hello Richard,
I broke mips backend with my last scheduler patch that changed interface
to scheduler dependency analyzer (sched-deps.c).
This obvious patch fixes things by changing mips backend to use new
interface.
I audited other targets for the same error and they appear to be fine.
Ok for trunk?
Thanks,
Maxim
2007-08-15 Maxim Kuvyrkov <maxim@codesourcery.com>
* config/mips/mips.c (vr4130_swap_insns_p): Use new interface to
scheduler dependencies.
Index: config/mips/mips.c
===================================================================
--- config/mips/mips.c (revision 127511)
+++ config/mips/mips.c (working copy)
@@ -10930,7 +10930,8 @@ vr4130_true_reg_dependence_p (rtx insn)
static bool
vr4130_swap_insns_p (rtx insn1, rtx insn2)
{
- dep_link_t dep;
+ sd_iterator_def sd_it;
+ dep_t dep;
/* Check for the following case:
@@ -10940,11 +10941,11 @@ vr4130_swap_insns_p (rtx insn1, rtx insn
If INSN1 is the last instruction blocking X, it would better to
choose (INSN1, X) over (INSN2, INSN1). */
- FOR_EACH_DEP_LINK (dep, INSN_FORW_DEPS (insn1))
- if (DEP_LINK_KIND (dep) == REG_DEP_ANTI
- && INSN_PRIORITY (DEP_LINK_CON (dep)) > INSN_PRIORITY (insn2)
- && recog_memoized (DEP_LINK_CON (dep)) >= 0
- && get_attr_vr4130_class (DEP_LINK_CON (dep)) == VR4130_CLASS_ALU)
+ FOR_EACH_DEP (insn1, SD_LIST_FORW, sd_it, dep)
+ if (DEP_TYPE (dep) == REG_DEP_ANTI
+ && INSN_PRIORITY (DEP_CON (dep)) > INSN_PRIORITY (insn2)
+ && recog_memoized (DEP_CON (dep)) >= 0
+ && get_attr_vr4130_class (DEP_CON (dep)) == VR4130_CLASS_ALU)
return false;
if (vr4130_last_insn != 0