This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: target/6882: [SPARC] Useless stack adjustment code
- From: Hans-Peter Nilsson <hp at bitrange dot com>
- To: Eric Botcazou <ebotcazou at libertysurf dot fr>
- Cc: dann at godzilla dot ics dot uci dot edu, <gcc-bugs at gcc dot gnu dot org>, <nobody at gcc dot gnu dot org>, <gcc-gnats at gcc dot gnu dot org>
- Date: Mon, 31 Mar 2003 07:44:27 -0500 (EST)
- Subject: Re: target/6882: [SPARC] Useless stack adjustment code
On Mon, 31 Mar 2003, Eric Botcazou wrote:
> > No, it seems a valid optimization request to not emit the
> > stack-adjustment code. Could you find a *specific* reason for
> > the stack-adjustment code? (Please state that in the PR.)
>
> No, I don't see a "specific" reason. But:
> - functions from the same translation unit that call it (and that appear
> after it in normal mode, but the restriction is lifted with
> -funit-at-a-time) don't actually emit the call,
> - would the benefit be worth it in real life, given that the costly operation
> is to call the function itself (for nothing)? I think the real optimization
> is not to emit the call at all.
Now you're arguing about the *value of the optimization*.
I was arguing about *closing the PR for the wrong reason*.
It seemed to indicate a misunderstanding about GCC rather than a
special need on the SPARC. For example, the CRIS and MMIX
targets don't emit that kind of redundant stack frame.
Having said that, let's continue to the *new* discussion. You
can't optimize out the call from other translation units. Not
being a SPARC maintainer I won't try to judge on the benefit,
but it looks simple enough and seems worthwhile. C++ tends to
generate a lot of small trivial functions.
brgds, H-P