This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
PGO enhancements in GCC
- From: Vincent Diepeveen <diep at xs4all dot nl>
- To: gcc at gcc dot gnu dot org
- Date: Tue, 24 Feb 2004 02:42:36 +0100
- Subject: PGO enhancements in GCC
Hello,
First of all i really have to mention that i find the PGO options (profile
guided options: -fprofile-arcs ) in GCC really great. It really makes my
software a *lot* faster. To those who have been busy with the PGO in GCC:
THANK YOU ALL!!!!
I wonder whether the next feature is already used in the PGO options. Let
me explain.
The code size of the program in question i refer to here is DIEP and it's
pretty big code size. It won't fit easily in L1 instruction cache of my K7
processors (2x dual K7). Using profile guided information and structure of
which function calls which it might be possible to reschedule the functions
within the software such that it has a bigger chance to hit the functions
already inside L1 instruction cache. Especially at P4 and future problem
processors from intel that might *really* speed it up when it's already in
tracecache for whatever part.
The compile options i usually use when compiling with gcc are for first run
and second run:
# gebruiken om profile info te verzamelen voor betere optimalisatie op k7
CFLAGS = -fprofile-arcs -O2 -march=athlon-xp -mcpu=athlon-xp
-frename-registers -DUNIXPII -fno-gcse -foptimize-register-move
-fif-conversion
# te gebruiken om profile informatie te gebruiken bij optimalisatie k7
#CFLAGS = -O2 -march=athlon-xp -mcpu=athlon-xp -fbranch-probabilities
-frename-registers -DUNIXPII -fno-gcse -foptimize-register-move
-fif-conversion
# -O3 or lower usually runs DIEP slower and it's dangerous to use it anyway
Any feedback is welcome in this area.
If these features are already in the PGO option from GCC then apologies for
posting this.
Thanks,
Vincent