This is the mail archive of the gcc@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]

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


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