This is the mail archive of the 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] Speed up the compiler/bootstrap on IA-32

Roger Sayle wrote:

The following simple patch allows GCC itself to take advantage of
the recent ability to debug x86 executables without a frame pointer,
and the associated performance improvements.  This patch makes use
of the recently added ability to override the default BOOT_CFLAGS
in host Makefile fragments, to add "-fomit-frame-pointer" to the
stage2 and stage3 compiler flags on selected i[3456]86 systems.

On a 2.8GHz Pentium4 system running RedHat 9, i686-pc-linux-gnu, this
change reproducably reduces the user time reported by "time make
bootstrap", for all default languages and runtime librarues, from 65m48
(3948s) to 64m53 (3893s), a saving of 55 seconds, or about 1.4% of total
bootstrap time.  Considering the fraction of time spent in as, ld, sh,
make, etc... the actual improvements to compiler performance are
significantly larger.

[Of course, if we omitted the frame pointer by default, we'd also speed
up the as, ld, sh and make above, which is something people might think
about in their extra minute of free time per bootstrap :>]

The following patch has been tested on i686-pc-linux-gnu with a full "make bootstrap", all default languages, and regression tested with a top-level "make -k check" with no new failures.

Ok for mainline?

Yes, as that will improve not only bootstrap times but compile-time performance in general.


Mark Mitchell
CodeSourcery, LLC
(916) 791-8304

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