Thu Apr 13 18:46:00 GMT 2006
I have created new branch, opt-diary, to develop Optimization Diary
In general compiler optimizers work like a black box. They receive
user code in compiler's internal representation (IR) form and
generate instructions or optimized IR. Developers analyze generated
code, often using various performance tools, to understand what
optimizer did. They fine-tune their source code based on analysis of
generated code. However, many times developers are left with the
question "Why?". Why optimizer did certain things and why it did not
do certain other things? For example, why this function foo was not
inlined ? Why loop peeling is applied ? What GCC did not auto-
vectorize this loop?
Optimization diary is an attempt to collect this information. One of
the main task is to develop open data format to store this
information such that various tools (e.g. Xcode and Shark in Mac OS
X, vTunes from Intel etc..) can use this information to improve
developers' productivity. Other tools have also expressed interest to
generate information in this data format.
In short, this is an exercise to add some discipline in tree-dump*
output. We do want to continue using tree-dump* outputs for gcc
developers' benefit. However, we also want to organize selected
information for end users' benefit.
We, here at Apple, are evaluating two data format proposals at the
moment. I'll start adding prototype implementations of these
proposals in new branch.
I welcome suggestions, ideas, feedback and participation.
OK to apply following patch to mention new branch in wwwdocs?
RCS file: /cvs/gcc/wwwdocs/htdocs/svn.html,v
retrieving revision 1.24
diff -c -3 -p -r1.24 svn.html
*** svn.html 18 Mar 2006 17:50:02 -0000 1.24
--- svn.html 13 Apr 2006 18:22:44 -0000
*************** list therefore provides only some repres
*** 267,272 ****
--- 267,279 ----
and will be merged with mainline from time to time. Patches
will be marked with the tag
<code>[yara-branch]</code> in the subject line.</dd>
+ <dd>This branch contains the implementation of Optimization Diary,
+ a collection of useful log information generated by optimizer.
+ This branch is maintained by Devang Patel. Patches and discussion
+ on this branch should be marked with the tag
+ <code>[opt-diary]</code> in the subject line.</dd>
More information about the Gcc-patches