This is the mail archive of the gcc@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: Excess registers pushed - regs_ever_live not right way?


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


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