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 for -mcaller-super-interworking & stack arguments


On Fri, 2004-08-27 at 14:33, Richard Sandiford wrote:
> I'm not sure whether "this" means my patch in particular or just
> -mcaller-super-interworking in general ;)  If the former,  I'm certainly
> willing to try alternatives.

Well it started of with -mcaller-super-interworking in general, because
it just doesn't work for far too many cases, but then I realised your
patch was addressing most, if not all, of those failures.

Then I didn't like the costs of your proposed solution, until I realised
you'd thought about most of those cases too... and the one case you
really ended up losing on, I think we now have a conceptual approach
for.  So I guess I'm not as unhappy now as I was when I first started
reading your proposal :-)

> 
> > Another approach would be to use r11 (fp) to hold the 'frame pointer' in
> > the case where we didn't really need a frame (and continue to pretend
> > that the function was frameless).  It would mean a further function stub
> > in libgcc (unless you always made it work that way) but would mean that
> > we didn't loose a low register.
> 
> Good idea.  Will give it a go.  I won't commit my original patch
> until I see how the new one works out.
> 
> Btw, as a heads-up, I was just looking into how the new patch might be
> written, and I noticed what seems to be a little thinko in the recent
> changes to thumb_compute_save_reg_mask():
> 
>   if (flag_pic && !TARGET_SINGLE_PIC_BASE)
>     mask |= PIC_OFFSET_TABLE_REGNUM;
> 
> Looks like it should be "mask |= 1 << ...".  I'm not really
> set up to test that change myself though.

You're right.  I think that even comes under the 'obvious' rule.

Well spotted.

R.


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