Issue for gcc for SuperH

John Klos <[email protected]> Thu, 5 Mar 2015 02:43:08 +0000 (UTC)
Newsgroups gmane.os.netbsd.ports.sh3
Message-ID <[email protected]>
Hi,

I see that the fix was never committed to current:

chi# diff /usr/src/external/gpl3/gcc/dist/gcc/rtlanal.c 
/usr/current/src/external/gpl3/gcc/dist/gcc/rtlanal.c
889c889,897
<   if (INSN_P (insn) && FIND_REG_INC_NOTE (insn, reg))
---
>   if (INSN_P (insn)
>       && (FIND_REG_INC_NOTE (insn, reg)
> 	  || (CALL_P (insn)
> 	      && ((REG_P (reg)
> 		   && REGNO (reg) < FIRST_PSEUDO_REGISTER
> 		   && overlaps_hard_reg_set_p (regs_invalidated_by_call,
> 					       GET_MODE (reg), REGNO 
(reg)))
> 		  || MEM_P (reg)
> 		  || find_reg_fusage (insn, CLOBBER, reg)))))
891,905d898
<
<   /* After delay slot handling, call and branch insns might be in a
<      sequence.  Check all the elements there.  */
<   if (INSN_P (insn) && GET_CODE (PATTERN (insn)) == SEQUENCE)
<     for (int i = 0; i < XVECLEN (PATTERN (insn), 0); ++i)
<       if (reg_set_p (reg, XVECEXP (PATTERN (insn), 0, i)))
< 	return true;
<
<   if (CALL_P (insn)
<       && ((REG_P (reg) && REGNO (reg) < FIRST_PSEUDO_REGISTER
< 	   && overlaps_hard_reg_set_p (regs_invalidated_by_call,
< 				       GET_MODE (reg), REGNO (reg)))
< 	  || MEM_P (reg)
< 	  || find_reg_fusage (insn, CLOBBER, reg)))
< 	return true;


Did another patch, perhaps the one disabling the optimization get 
committed instead? Should this be committed?

Thanks,
John