Commit 51753c14 by Vladimir Makarov Committed by Vladimir Makarov

re PR rtl-optimization/65123 (lra remat places insn which breaks data flow)

2015-02-24  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/65123
	* lra-remat.c (operand_to_remat): Check hard regs in insn
	definition too.

From-SVN: r220946
parent ff544f6b
2015-02-24 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/65123
* lra-remat.c (operand_to_remat): Check hard regs in insn
definition too.
2015-02-24 Nick Clifton <nickc@redhat.com>
* config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
......
......@@ -459,6 +459,16 @@ operand_to_remat (rtx_insn *insn)
reg2 = reg2->next)
if (reg2->type == OP_OUT && reg->regno == reg2->regno)
return -1;
if (reg->regno < FIRST_PSEUDO_REGISTER)
for (struct lra_insn_reg *reg2 = static_id->hard_regs;
reg2 != NULL;
reg2 = reg2->next)
if (reg2->type == OP_OUT
&& reg->regno <= reg2->regno
&& (reg2->regno
< (reg->regno
+ hard_regno_nregs[reg->regno][reg->biggest_mode])))
return -1;
}
/* Find the rematerialization operand. */
int nop = static_id->n_operands;
......
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