re PR rtl-optimization/87761 ([MIPS] New FAIL: gcc.target/mips/fix-r4000-10.c -O1 start with r265398)

PR rtl-optimization/87761
	* regcprop.c (copyprop_hardreg_forward_1): Use REG_UNUSED notes to
	detect obviously dead insns and delete them.

From-SVN: r269218
This commit is contained in:
Jeff Law 2019-02-26 10:08:06 -07:00 committed by Jeff Law
parent 067aef033f
commit f73675e3c7
2 changed files with 22 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2019-02-26 Jeff Law <law@redhat.com>
PR rtl-optimization/87761
* regcprop.c (copyprop_hardreg_forward_1): Use REG_UNUSED notes to
detect obviously dead insns and delete them.
2019-02-26 Richard Biener <rguenther@suse.de>
PR tree-optimization/89505

View file

@ -798,6 +798,22 @@ copyprop_hardreg_forward_1 (basic_block bb, struct value_data *vd)
}
}
/* Detect obviously dead sets (via REG_UNUSED notes) and remove them. */
if (set
&& INSN_P (insn)
&& !may_trap_p (insn)
&& find_reg_note (insn, REG_UNUSED, SET_DEST (set))
&& !side_effects_p (SET_SRC (set))
&& !side_effects_p (SET_DEST (set)))
{
bool last = insn == BB_END (bb);
delete_insn (insn);
if (last)
break;
continue;
}
extract_constrain_insn (insn);
preprocess_constraints (insn);
const operand_alternative *op_alt = which_op_alt ();