Re: Issue for gcc for SuperH

[email protected] (Christos Zoulas) Thu, 5 Mar 2015 03:15:46 +0000 (UTC)
Newsgroups gmane.os.netbsd.ports.sh3
Message-ID <[email protected]>
In article <[email protected]>,
John Klos  <[email protected]> wrote:
>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?

I don't know, can you send this patch as diff -u instead?

christos