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: Reload patch for PA call rewrite.


> Eliminating a generic tail call may be a lose, particularly on processors
> which use a branch target stack as the call/return sites no longer match
> perfectly -- thus causing a branch mis-predict penalty when the callee
> returns.  This was something I've always wanted to measure for modern
> PAs and ia32 implementations, but never got around to doing so.

As far as I can tell, we currently don't implement the branch target
stack feature.  I can see that with my proposed PA2.0 additions to
various call sequences that this wouldn't be too hard to add.

Jeff, do you know which PA processors implement the branch target feature?

My concern about sibcalls was more basic.  We can't share frames
between the sibcall callee and caller.  So, the overhead for a sibcall
and regular call are essentially the same.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)


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