mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-11 03:50:27 +08:00
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
This commit is contained in:
parent
07b383317d
commit
53250f44c0
@ -1,5 +1,9 @@
|
||||
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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user