This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: gcc 3.1 bug: flag_no_inline incorrectly set
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: Alan Modra <amodra at bigpond dot net dot au>
- Cc: Mark Mitchell <mark at codesourcery dot com>,"David S. Miller" <davem at redhat dot com>,"anton at samba dot org" <anton at samba dot org>,"gcc-bugs at gcc dot gnu dot org" <gcc-bugs at gcc dot gnu dot org>,"gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Sun, 28 Apr 2002 21:04:52 -0400 (EDT)
- Subject: Re: gcc 3.1 bug: flag_no_inline incorrectly set
On Sun, 28 Apr 2002, Daniel Berlin wrote:
> On Mon, 29 Apr 2002, Alan Modra wrote:
>
> > On Sun, Apr 28, 2002 at 04:59:33PM -0700, Mark Mitchell wrote:
> > >
> > > That makes more sense -- but I still don't get it. flag_inline_trees
> > > is set to 1, right above that point; shouldn't it be set to 1 only
> > > in the not-instrumenting-entry-and-exit case?
> >
> > Maybe Neil, who wrote the original code, should fight this out with
> > those who later broke it. :-)
> >
> > > Furthermore, isn't the flag_no_inline stuff independent of
> > > flag_instrument_function_entry_exit?
> >
> > It ought to be. I didn't want to raise that issue, partly because I
> > can't remember exactly why we don't want the two together.
> >
> > > Why not something like this:
> > >
> > > /* Normally, we want to inline using the tree inliner -- but
> > > instrumentation of function entry and exit is not supported
> > > when using the tree inliner, so we cannot use the tree inliner
> > > in that case. */
> > > flag_inline_trees = !flag_instrument_function_entry_exit;
> > >
> > > if (!flag_no_inline)
> > > flag_no_inline = 1;
> >
> > No, not this, please! Either leave flag_no_inline alone, or only set
> > it if flag_instrument_function_entry_exit.
>
> I don't think you get the use of flag_no_inline.
>
> it turns off the RTL inliner, not the tree one.
Sorry, misread the code, your right.
You want
flag_no_inline |= flag_instrument_function_entry_exit
or something
>