This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Excess registers pushed - regs_ever_live not right way?
- From: "Seongbae Park (박성배, 朴成培)" <seongbae dot park at gmail dot com>
- To: "Andrew Hutchinson" <andrewhutchinson at cox dot net>
- Cc: "GCC Development" <gcc at gcc dot gnu dot org>
- Date: Wed, 27 Feb 2008 17:52:53 -0800
- Subject: Re: Excess registers pushed - regs_ever_live not right way?
- References: <47C60B7A.5010809@cox.net>
On Wed, Feb 27, 2008 at 5:16 PM, Andrew Hutchinson
<andrewhutchinson@cox.net> wrote:
> Register saves by prolog (pushes) are typically made with reference to
> "df_regs_ever_live_p()" or "regs_ever_live. "||
>
> If my understanding is correct, these calls reflect register USEs and
> not register DEFs. So if register is used in a function, but not
> otherwise changed, it will get pushed unnecessarily on stack by prolog.
This implies that the register is either a global register
or a parameter register, in either case it won't be saved/restored
as callee save.
What kind of a register is it and how com there's only use of it in a function
but it's not a global ?
Seongbae