This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix s390 fallout from PR11271 patch


Eric Botcazou wrote:

> Yes, this was the original intent.  In my own defense :-) I can say that I 
> was heavily influenced by the following comment, which is located a few 
> lines above the hot spot in reload.c:
> 
>   /* If we have address of a stack slot but it's not valid because the
>      displacement is too large, compute the sum in a register.
>      Handle all base registers here, not just fp/ap/sp, because on some
>      targets (namely SH) we can also get too large displacements from
>      big-endian corrections.  */
>   else if (GET_CODE (ad) == PLUS
> 	   && GET_CODE (XEXP (ad, 0)) == REG
> 	   && REGNO (XEXP (ad, 0)) < FIRST_PSEUDO_REGISTER
> 	   && REG_MODE_OK_FOR_BASE_P (XEXP (ad, 0), mode)
> 	   && GET_CODE (XEXP (ad, 1)) == CONST_INT)
> 
> So it appears that the "extension" process might be questionable there too.

I agree that this should probably be changed to accept sp/fp/ap too,
but as this will make any difference only on arm, I'd leave it to
Richard to decide whether it's necessary ...

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  weigand@informatik.uni-erlangen.de


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]