This is the mail archive of the gcc-patches@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: [PATCH] Greatly speed up finish struct


In article <132750000.1022977437@warlock.codesourcery.com> you write:
>
>
>--On Friday, May 31, 2002 12:25:52 PM -0700 Geoff Keating 
><geoffk@geoffk.org> wrote:
>
>> Stan Shebs <shebs@apple.com> writes:
>>
>>> 2002-05-31  Stan Shebs  <shebs@apple.com>
>>>             Turly O'Connor  <turly@apple.com>
>>>
>>>         * c-decl.c (struct binding_level): Change int field n_incomplete
>>>         to tree list incomplete_list.
>>>         (clear_binding_level): Init field with NULL.
>>>         (pushdecl): Add incomplete type to list.
>>>         (mark_binding_level): Mark the incomplete list.
>>>         (finish_struct): Scan the incomplete list for types instead
>>>         of all decls in the current binding level.
>>
>> OK for mainline.  Ask Mark for the branch...
>
>I think this can wait for GCC 3.2.
>
>Thanks,

Please reconsider, or ask the SC about it.
This is the kind of stuff that would be very useful now.

I've just checked what this patch does on an OpenBSD kernel compilation,
and it does deliver:
15 seconds off 5:30 at -O1
and 30 seconds off 7:30 at -O2.

And it's arch-independent to boot. Especially compared to Dave Miller's
patches, which are great, but affect only selected arches.

There is a `wait for next release' effect.  It's always `okay, there are
problems in this release of gcc' but they will be fixed for the next
release.  As far as the OpenBSD project is concerned, we haven't really
been able to upgrade since gcc 2.95 because of this (okay, sparc64 is
broken, but it will be fixed in gcc 3.1. Okay C++ is slow, but it will
be fixed in gcc 3.1. Okay, those are fixed, but the compiler is now too slow
for real use in the conditions we need. Wait for gcc 3.2. and hum, too bad 
about the old arches that are going to be thoroughly mangled in 3.2.
I'm caricaturing a bit, but hopefully, you get the picture).

I will run a regression test with/without that patch on gcc 3.1 (or rather,
the slightly mangled version that applies to the 3.1 branch), on at least
i386, and I will try it as well on other arches, time permitting...


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