Re: [PATCH, IRA] PR78325, R_MIPS_JALR failures

2016-11-16 Thread Bernd Schmidt

On 11/15/2016 11:55 PM, Alan Modra wrote:

This is a fix for my PR70890 patch, which incorrectly removed all
REG_EQUIV notes rather than just one regarding a reg that dies.
Bootstrapped and regression tested powerpc64le-linux,
x86_64-linux, and mips-linux.  OK to apply?

PR rtl-optimization/78325
PR rtl-optimization/70890
* ira.c (combine_and_move_insns): Only remove REG_EQUIV notes
for dead regno.


Ok.


Bernd



[PATCH, IRA] PR78325, R_MIPS_JALR failures

2016-11-15 Thread Alan Modra
This is a fix for my PR70890 patch, which incorrectly removed all
REG_EQUIV notes rather than just one regarding a reg that dies.
Bootstrapped and regression tested powerpc64le-linux,
x86_64-linux, and mips-linux.  OK to apply?

PR rtl-optimization/78325
PR rtl-optimization/70890
* ira.c (combine_and_move_insns): Only remove REG_EQUIV notes
for dead regno.

diff --git a/gcc/ira.c b/gcc/ira.c
index 315b847..4ee99d7 100644
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -3747,7 +3747,7 @@ combine_and_move_insns (void)
 use_insn, when regno was seen as non-local.  Now that
 regno is local to this block, and dies, such an
 equivalence is invalid.  */
- if (find_reg_note (use_insn, REG_EQUIV, NULL_RTX))
+ if (find_reg_note (use_insn, REG_EQUIV, regno_reg_rtx[regno]))
{
  rtx set = single_set (use_insn);
  if (set && REG_P (SET_DEST (set)))

-- 
Alan Modra
Australia Development Lab, IBM