- To: gcc-help@xxxxxxxxxxx
- Subject: Regarding GCC Optimization flags and a customized profiler
- From: Parang Saraf <parang.saraf@xxxxxxxxx>
- Date: Tue, 19 Jun 2012 20:47:32 -0400
- Comment: DKIM? See http://www.dkim.org
- Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys
- In-reply-to: <CAOS5qvRKO_ip0uc-zhD-GKj6X=X5T_uxRBpFgagUEVa=FUBQ7w@mail.gmail.com>
Hi,
I have developed a small profiler which uses AMD's IBS (Instruction
Based Samling) to profile a program. With the help of it, I am able to
generate quite detailed information about the program like how many
times there is a branch miss for each branch or which instructions are
causing a lot of cache misses and several other similar information.
Now, I plan to use this information to enable certain optimization
flags for GCC. Say for example, now that I know the branch probability
I can enable the branch probability optimization flag (similar to
gprof).
My Goal: is to generate meaningful information from the profiled data
for "all" the optimization flags that GCC supports. That is, based on
the data should we enable certain optimization or not?
My Problem: I am not familiar with many of the optimization flags. The
description provided in the GCC manual for each optimization flag is
not sufficient for a thorough understanding.
Expected Solution: 1. If you can point me to resources where I can
find more in-depth information about the optimization flags.
2. Or If you think, this is exciting and you would like to collaborate
with me. I am a PhD student and I am pretty good with systems. So, if
you have a decent knowledge of compilers, feel free to contact. There
are a lot many things we can develop in this area.
Regards
Parang
PS: My apologies in case if you received this email twice. I posted it
both on gcc and gcc-help, because both the mailing lists looked
appropriate for this posting.
[Linux C Programming]
[Linux Kernel]
[eCos]
[Fedora Development]
[Fedora Announce]
[Autoconf]
[The DWARVES Debugging Tools]
[Yosemite Campsites]
[Yosemite News]
[Linux GCC]