This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Development plan *ducks* (Re: Loop optimizer issues)
- From: Jan Hubicka <jh at suse dot cz>
- To: Jan Hubicka <jh at suse dot cz>, gcc-patches at gcc dot gnu dot org
- Cc: Andrew Pinski <pinskia at physics dot uc dot edu>,Steven Bosscher <s dot bosscher at student dot tudelft dot nl>,gcc mailing list <gcc at gcc dot gnu dot org>
- Date: Tue, 29 Jul 2003 19:24:05 +0200
- Subject: Re: Development plan *ducks* (Re: Loop optimizer issues)
- References: <20030729170028.GE2231@kam.mff.cuni.cz> <7F5F4D1B-C1E7-11D7-AC2E-000393A6D2F2@physics.uc.edu> <20030729171340.GF2231@kam.mff.cuni.cz>
> > >Hmm, the testcase does not appear to fail in my setup (i686-linux too
> > >as
> > >in the PR that is quite weird). If it fails for you can you please
> > >just
> > >step into cp_cannot_inline_tree_fn and figure out why it fails in foo1?
> > >The patch I was fixing was actually different problem and is already in
> > >the tree.
> >
> >
> > cp_cannot_inline_tree_fn does not even get called.
> OK, I seee it is compiled with -O2. I am enabling unit-at-a-time for
> testing at -O2 that is why I don't see it. I am working on it.
It is kind of merging error - that hunk of code went in after I
propagated the test in question in my local tree that were safe and
because I tested mainly the -funit-at-a-time enabled (when disabled
there should not be functional changes except for such a stupid thinko
we see here).
I am regtesting the attached patch and will install it if passes as
obvious.
Thanks for pointing this out to me!
I am removing my -funit-at-a-time at -O2 default patch from my tree for
now so I won't miss similar cases in the future.
Honza
Tue Jul 29 19:20:37 CEST 2003 Jan Hubicka <jh@suse.cz>
* tree-inline.c (expand_call_inline): Always call inlinable_function_p
in !unit-at-a-time mode.
Index: tree-inline.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-inline.c,v
retrieving revision 1.70
diff -c -3 -p -r1.70 tree-inline.c
*** tree-inline.c 25 Jul 2003 09:52:26 -0000 1.70
--- tree-inline.c 29 Jul 2003 17:19:55 -0000
*************** expand_call_inline (tree *tp, int *walk_
*** 1164,1171 ****
/* Don't try to inline functions that are not well-suited to
inlining. */
! if (!DECL_SAVED_TREE (fn)
! || (flag_unit_at_a_time && !cgraph_inline_p (id->current_decl, fn))
|| (!flag_unit_at_a_time && !inlinable_function_p (fn, id, 0)))
{
if (warn_inline && DECL_INLINE (fn) && !DID_INLINE_FUNC (fn)
--- 1164,1171 ----
/* Don't try to inline functions that are not well-suited to
inlining. */
! if ((flag_unit_at_a_time
! && (!DECL_SAVED_TREE (fn) || !cgraph_inline_p (id->current_decl, fn)))
|| (!flag_unit_at_a_time && !inlinable_function_p (fn, id, 0)))
{
if (warn_inline && DECL_INLINE (fn) && !DID_INLINE_FUNC (fn)