aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/ira-conflicts.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/ira-conflicts.c')
-rw-r--r--gcc-4.9/gcc/ira-conflicts.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc-4.9/gcc/ira-conflicts.c b/gcc-4.9/gcc/ira-conflicts.c
index c0b4f0499..ba09c6a45 100644
--- a/gcc-4.9/gcc/ira-conflicts.c
+++ b/gcc-4.9/gcc/ira-conflicts.c
@@ -330,7 +330,8 @@ process_regs_for_copy (rtx reg1, rtx reg2, bool constraint_p,
OP_NUM) which dies in the insn as if there were a move insn between
them with frequency FREQ. */
static void
-process_reg_shuffles (rtx reg, int op_num, int freq, bool *bound_p)
+process_reg_shuffles (rtx reg, int op_num, int freq, bool *bound_p,
+ rtx insn)
{
int i;
rtx another_reg;
@@ -345,7 +346,7 @@ process_reg_shuffles (rtx reg, int op_num, int freq, bool *bound_p)
|| bound_p[i])
continue;
- process_regs_for_copy (reg, another_reg, false, NULL_RTX, freq);
+ process_regs_for_copy (reg, another_reg, false, insn, freq);
}
}
@@ -396,7 +397,7 @@ add_insn_allocno_copies (rtx insn)
REG_P (operand)
? operand
: SUBREG_REG (operand)) != NULL_RTX)
- process_regs_for_copy (operand, dup, true, NULL_RTX,
+ process_regs_for_copy (operand, dup, true, insn,
freq);
}
}
@@ -412,7 +413,8 @@ add_insn_allocno_copies (rtx insn)
the corresponding allocno copies. The cost will not
correspond to a real move insn cost, so make the frequency
smaller. */
- process_reg_shuffles (operand, i, freq < 8 ? 1 : freq / 8, bound_p);
+ process_reg_shuffles (operand, i, freq < 8 ? 1 : freq / 8,
+ bound_p, insn);
}
}