public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Joern Rennecke <amylaar@cygnus.co.uk>
To: law@cygnus.com
Cc: ghazi@snafu.Rutgers.EDU, davem@cobaltmicro.com, egcs@egcs.cygnus.com
Subject: PIC register allocation by reload (Was: Re: egcs-1.2 stuff)
Date: Fri, 30 Apr 1999 10:46:00 -0000	[thread overview]
Message-ID: <199904301746.SAA26848@phal.cygnus.co.uk> (raw)
In-Reply-To: <4431.922654685@upchuck>

> 
>   In message <199903281412.JAA02308@caip.rutgers.edu>you write:
>   > 	I think we should address the -fpic/-fPIC failures on the sparc. 
>   > This would affect glibc or really any shared library.  IIRC, Dave had a
>   > preliminary fix early last fall around the time we split the 1.1.x
>   > branch.  For some reason it never went in.  (?)
> If it's the problem I think it is then it's unlikely we'll have a general
> solution in time for egcs-1.2. 
> 
> Lazy allocation of the PIC register is a bad bad idea right now.  It's going
> to consistently lose.  If we want this to work 100% reliably for egcs-1.2, then
> the backend is going to need to pre-allocate the register early and take the
> performance hit.  This effects multiple ports that have tried to do lazy
> allocation of the PIC register (for example the ppc).
> 
> Then someone will need to block out some significant time post egcs-1.2 to fix
> the problem correctly.  It's not a simple problem to fix.

I think that, if no PIC register is preallocated and we find during
reload that we need one after all, we should just load it with a secondary
reload (by defining SECONDARY_RELOAD_INPUT_CLASS and reload_in[sd]i
appropriately).
We should check that reload inheritance works for the temporarily
allocated PIC register.  Then we should get actually better code than if
we allocated the PIC register for the entire function.

WARNING: multiple messages have this Message-ID
From: Joern Rennecke <amylaar@cygnus.co.uk>
To: law@cygnus.com
Cc: ghazi@snafu.Rutgers.EDU, davem@cobaltmicro.com, egcs@egcs.cygnus.com
Subject: PIC register allocation by reload (Was: Re: egcs-1.2 stuff)
Date: Fri, 30 Apr 1999 23:15:00 -0000	[thread overview]
Message-ID: <199904301746.SAA26848@phal.cygnus.co.uk> (raw)
Message-ID: <19990430231500.xuxtjG7fdI9m0kSO45xYMLZPVPoXB0P9MmQU6nUI2Hk@z> (raw)
In-Reply-To: <4431.922654685@upchuck>

> 
>   In message <199903281412.JAA02308@caip.rutgers.edu>you write:
>   > 	I think we should address the -fpic/-fPIC failures on the sparc. 
>   > This would affect glibc or really any shared library.  IIRC, Dave had a
>   > preliminary fix early last fall around the time we split the 1.1.x
>   > branch.  For some reason it never went in.  (?)
> If it's the problem I think it is then it's unlikely we'll have a general
> solution in time for egcs-1.2. 
> 
> Lazy allocation of the PIC register is a bad bad idea right now.  It's going
> to consistently lose.  If we want this to work 100% reliably for egcs-1.2, then
> the backend is going to need to pre-allocate the register early and take the
> performance hit.  This effects multiple ports that have tried to do lazy
> allocation of the PIC register (for example the ppc).
> 
> Then someone will need to block out some significant time post egcs-1.2 to fix
> the problem correctly.  It's not a simple problem to fix.

I think that, if no PIC register is preallocated and we find during
reload that we need one after all, we should just load it with a secondary
reload (by defining SECONDARY_RELOAD_INPUT_CLASS and reload_in[sd]i
appropriately).
We should check that reload inheritance works for the temporarily
allocated PIC register.  Then we should get actually better code than if
we allocated the PIC register for the entire function.

  parent reply	other threads:[~1999-04-30 10:46 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-03-28  6:12 egcs-1.2 stuff Kaveh R. Ghazi
1999-03-28  6:24 ` David Miller
1999-03-31 23:46   ` David Miller
1999-03-28 13:09 ` Jeffrey A Law
1999-03-28 16:06   ` David Miller
1999-03-31 23:46     ` David Miller
1999-03-31 23:46   ` Jeffrey A Law
1999-04-30 10:46   ` Joern Rennecke [this message]
1999-04-30 23:15     ` PIC register allocation by reload (Was: Re: egcs-1.2 stuff) Joern Rennecke
1999-05-06 13:36     ` Franz Sirl
1999-05-06 14:16       ` Geoff Keating
1999-05-06 14:45         ` Franz Sirl
1999-05-13  1:12           ` Jeffrey A Law
1999-05-31 21:36             ` Jeffrey A Law
1999-05-18 21:33           ` Geoff Keating
1999-05-31 21:36             ` Geoff Keating
1999-05-31 21:36           ` Franz Sirl
1999-05-31 21:36         ` Geoff Keating
1999-05-31 21:36       ` Franz Sirl
1999-03-31 23:46 ` egcs-1.2 stuff Kaveh R. Ghazi
1999-05-06 18:53 PIC register allocation by reload (Was: Re: egcs-1.2 stuff) Kaveh R. Ghazi
1999-05-31 21:36 ` Kaveh R. Ghazi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=199904301746.SAA26848@phal.cygnus.co.uk \
    --to=amylaar@cygnus.co.uk \
    --cc=davem@cobaltmicro.com \
    --cc=egcs@egcs.cygnus.com \
    --cc=ghazi@snafu.Rutgers.EDU \
    --cc=law@cygnus.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).