Commit e32e4c4a by Vladimir Makarov Committed by Vladimir Makarov

lra-constraints.c (need_for_split_p): Check call used hard regs living through calls.

2013-06-28  Vladimir Makarov  <vmakarov@redhat.com>

	* lra-constraints.c (need_for_split_p): Check call used hard regs
	living through calls.

From-SVN: r200553
parent f161bfd3
2013-06-28 Vladimir Makarov <vmakarov@redhat.com>
* lra-constraints.c (need_for_split_p): Check call used hard regs
living through calls.
2013-06-28 Michael Meissner <meissner@linux.vnet.ibm.com> 2013-06-28 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/57744 PR target/57744
......
...@@ -4201,6 +4201,15 @@ need_for_split_p (HARD_REG_SET potential_reload_hard_regs, int regno) ...@@ -4201,6 +4201,15 @@ need_for_split_p (HARD_REG_SET potential_reload_hard_regs, int regno)
&& (regno >= FIRST_PSEUDO_REGISTER && (regno >= FIRST_PSEUDO_REGISTER
|| ! TEST_HARD_REG_BIT (eliminable_regset, hard_regno)) || ! TEST_HARD_REG_BIT (eliminable_regset, hard_regno))
&& ! TEST_HARD_REG_BIT (lra_no_alloc_regs, hard_regno) && ! TEST_HARD_REG_BIT (lra_no_alloc_regs, hard_regno)
/* Don't split call clobbered hard regs living through
calls, otherwise we might have a check problem in the
assign sub-pass as in the most cases (exception is a
situation when lra_risky_transformations_p value is
true) the assign pass assumes that all pseudos living
through calls are assigned to call saved hard regs. */
&& (regno >= FIRST_PSEUDO_REGISTER
|| ! TEST_HARD_REG_BIT (call_used_reg_set, regno)
|| usage_insns[regno].calls_num == calls_num)
/* We need at least 2 reloads to make pseudo splitting /* We need at least 2 reloads to make pseudo splitting
profitable. We should provide hard regno splitting in profitable. We should provide hard regno splitting in
any case to solve 1st insn scheduling problem when any case to solve 1st insn scheduling problem when
......
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