Commit 2f259720 by Vladimir Makarov Committed by Vladimir Makarov

lra-constraints.c (inherit_in_ebb): Process static hard regs too.

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

	* lra-constraints.c (inherit_in_ebb): Process static hard regs
	too.  Process OP_INOUT regs for splitting too.

From-SVN: r200475
parent fef4d2b3
2013-06-27 Vladimir Makarov <vmakarov@redhat.com>
* lra-constraints.c (inherit_in_ebb): Process static hard regs
too. Process OP_INOUT regs for splitting too.
2013-06-27 Jakub Jelinek <jakub@redhat.com>
* tree-vect-stmts.c (vectorizable_store): Move ptr_incr var
......
......@@ -4762,12 +4762,17 @@ inherit_in_ebb (rtx head, rtx tail)
}
else if (INSN_P (curr_insn))
{
int iter;
int max_uid = get_max_uid ();
curr_id = lra_get_insn_recog_data (curr_insn);
curr_static_id = curr_id->insn_static_data;
to_inherit_num = 0;
/* Process insn definitions. */
for (reg = curr_id->regs; reg != NULL; reg = reg->next)
for (iter = 0; iter < 2; iter++)
for (reg = iter == 0 ? curr_id->regs : curr_static_id->hard_regs;
reg != NULL;
reg = reg->next)
if (reg->type != OP_IN
&& (dst_regno = reg->regno) < lra_constraint_new_regno_start)
{
......@@ -4794,7 +4799,7 @@ inherit_in_ebb (rtx head, rtx tail)
usage_insns invalidation. */
if ((dst_regno < FIRST_PSEUDO_REGISTER
|| reg_renumber[dst_regno] >= 0)
&& ! reg->subreg_p && reg->type == OP_OUT)
&& ! reg->subreg_p && reg->type != OP_IN)
{
HARD_REG_SET s;
......@@ -4876,7 +4881,10 @@ inherit_in_ebb (rtx head, rtx tail)
}
to_inherit_num = 0;
/* Process insn usages. */
for (reg = curr_id->regs; reg != NULL; reg = reg->next)
for (iter = 0; iter < 2; iter++)
for (reg = iter == 0 ? curr_id->regs : curr_static_id->hard_regs;
reg != NULL;
reg = reg->next)
if ((reg->type != OP_OUT
|| (reg->type == OP_OUT && reg->subreg_p))
&& (src_regno = reg->regno) < lra_constraint_new_regno_start)
......
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