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

opt-diary


I have created new branch, opt-diary, to develop Optimization Diary feature.

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?

Thanks,
-
Devang

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>
  </dl>

<h4>Architecture-specific</h4>


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