This is the mail archive of the gcc-bugs@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: 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


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