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
This commit is contained in:
parent
ff544f6bcc
commit
51753c1498
@ -1,3 +1,9 @@
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user