Commit 53250f44 by Bernd Schmidt Committed by Bernd Schmidt

Avoid removing sets of a pseudo PIC register in LRA.

	PR rtl-optimization/69648
	* lra-constraints.c (update_ebb_live_info): Don't remove sets of
	pic_offset_table_rtx.

From-SVN: r233424
parent 07b38331
2016-02-15 Bernd Schmidt <bschmidt@redhat.com>
PR rtl-optimization/69648
* lra-constraints.c (update_ebb_live_info): Don't remove sets of
pic_offset_table_rtx.
PR rtl-optimization/69752
* ira.c (update_equiv_regs): When looking for more than a single SET,
also take other side effects into account.
......
......@@ -5178,8 +5178,10 @@ update_ebb_live_info (rtx_insn *head, rtx_insn *tail)
curr_id = lra_get_insn_recog_data (curr_insn);
curr_static_id = curr_id->insn_static_data;
remove_p = false;
if ((set = single_set (curr_insn)) != NULL_RTX && REG_P (SET_DEST (set))
if ((set = single_set (curr_insn)) != NULL_RTX
&& REG_P (SET_DEST (set))
&& (regno = REGNO (SET_DEST (set))) >= FIRST_PSEUDO_REGISTER
&& SET_DEST (set) != pic_offset_table_rtx
&& bitmap_bit_p (&check_only_regs, regno)
&& ! bitmap_bit_p (&live_regs, regno))
remove_p = true;
......
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