This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: optimization/902: x86 optimization bug with sibling call and -fomit-frame-pointer
- To: nobody at gcc dot gnu dot org
- Subject: Re: optimization/902: x86 optimization bug with sibling call and -fomit-frame-pointer
- From: Fergus Henderson <fjh at cs dot mu dot oz dot au>
- Date: 29 Nov 2000 01:56:00 -0000
- Cc: gcc-prs at gcc dot gnu dot org,
- Reply-To: Fergus Henderson <fjh at cs dot mu dot oz dot au>
The following reply was made to PR optimization/902; it has been noted by GNATS.
From: Fergus Henderson <fjh@cs.mu.oz.au>
To: Richard Henderson <rth@redhat.com>
Cc: Zack Weinberg <zackw@stanford.edu>, gcc-gnats@gcc.gnu.org,
gcc-patches@gcc.gnu.org
Subject: Re: optimization/902: x86 optimization bug with sibling call and -fomit-frame-pointer
Date: Wed, 29 Nov 2000 12:48:37 +1100
On 28-Nov-2000, Richard Henderson <rth@redhat.com> wrote:
> On Tue, Nov 28, 2000 at 04:48:25PM -0800, Zack Weinberg wrote:
> > > We recognize that empty does nothing and mark it CONST.
> >
> > Would it be practical to recognize that empty does nothing, and not
> > call it at all? This could be as simple as marking it to-be-inlined.
>
> I'd rather not, since otherwise it'll be neigh impossible to
> write ld.so style breakpoint hooks.
If inlining is enabled (i.e. `-O3'), then the programmer should not
expect calls to empty functions to be honoured.
If you really want to ensure that something will not be inlined, then
you should say so explicitly. In Mercury we have `pragma no_inline'
for that. Perhaps GNU C should have `__attribute__((__no_inline__))'?
--
Fergus Henderson <fjh@cs.mu.oz.au> | "I have always known that the pursuit
| of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp.