This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: g++.old-deja/g++.mike/p7325.C - suspected bogus test case
- From: Michael Matz <matz at suse dot de>
- To: Mark Mitchell <mark at codesourcery dot com>
- Cc: Mike Stump <mrs at apple dot com>,Zack Weinberg <zack at codesourcery dot com>, gcc at gcc dot gnu dot org
- Date: Mon, 12 Jul 2004 08:20:56 +0200 (CEST)
- Subject: Re: g++.old-deja/g++.mike/p7325.C - suspected bogus test case
- References: <8B310986-D2B8-11D8-B011-003065BDF310@apple.com><40F16640.8040101@codesourcery.com>
Hi,
On Sun, 11 Jul 2004, Mark Mitchell wrote:
> Mike Stump wrote:
>
> > On Wednesday, June 30, 2004, at 10:03 AM, Mark Mitchell wrote:
> >
> > > Yes. And without optimization enabled, I don't see any reason that the
> > > compiler should be expected to reuse the stack space; that's an
> > > optimization. The compiler might, for example, be able to generate code
> > > more quickly by using a new stack slot for every variable. Or, using
> > > different stack slots, might result in faster code on some machines, which
> > > is nice even at -O0.
> >
> >
> > If people find no other way to make it work other than -Os, that's fine.
>
> I think -Os is an optimization for code size, not for stack size. It's not
> clear to me that reusing the stack slot will result in smaller code all the
> time on all machines.
The probability for this is quite small. If such machine happens to exist
the testcase can be XFAILed for it. Equally unlikely are machines for
which not merging stack slots produces faster code, be it for smaller
stack frame, hence possibly shorter insn encoding, not to mention cache
effects. Why do you use such constructed examples?
Ciao,
Michael.