target/6882: [SPARC] Useless stack adjustment code
Hans-Peter Nilsson
hp@bitrange.com
Mon Mar 31 12:46:00 GMT 2003
The following reply was made to PR target/6882; it has been noted by GNATS.
From: Hans-Peter Nilsson <hp@bitrange.com>
To: Eric Botcazou <ebotcazou@libertysurf.fr>
Cc: dann@godzilla.ics.uci.edu, <gcc-bugs@gcc.gnu.org>, <nobody@gcc.gnu.org>,
<gcc-gnats@gcc.gnu.org>
Subject: Re: target/6882: [SPARC] Useless stack adjustment code
Date: Mon, 31 Mar 2003 07:44:27 -0500 (EST)
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
More information about the Gcc-prs
mailing list