Devang Patel dpatel@apple.com
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?


Index: svn.html
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>
+   <dt>opt-diary</dt>
+   <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 mailing list