Hi all,<br>   <br>I would like to participate in Google's Summer of Code
 this year, for LLVM(Polly), The polyhedral optimization framework ( <a href="http://wiki.llvm.org/Polyhedral_optimization_framework" target="_blank">http://wiki.llvm.org/Polyhedral_optimization_framework</a>
 ) which i am already working on with Tobias.<br>
   <br>Polly is a polyhedral optimization framework for llvm, which 
similar to Graphite for gcc (<a href="http://gcc.gnu.org/wiki/Graphite" target="_blank">http://gcc.gnu.org/wiki/Graphite</a>).  The main 
work flow of Polly is:<br>   <br>
    1. Transfer LLVM IR to polyhedral model represent (Polyhedral IR) 
with the LLVM Region framework (<a href="http://repo.or.cz/w/llvm-complete/pofl.git/shortlog/refs/heads/regioninfo" target="_blank">http://repo.or.cz/w/llvm-complete/pofl.git/shortlog/refs/heads/regioninfo</a>)
 and the Scalar Evolution infrastructure.<br>
    2. Perform transformation on Polyhedral IR, e.g. advanced automatic 
parallelization, optimize loops for cache locality.<div class="im"><br>   
 3. Generate LLVM IR with necessary metadata annoted from Polyhedral IR.<br>  
 <br></div>With Polly, we can generate high quality parallel code for 
platforms like OpenMP, OpenGL, OpenCL, CUDA, and so on. and Polly will 
also give the user from Electronic design automation (EDA) area (<a href="http://tce.cs.tut.fi/" target="_blank">http://tce.cs.tut.fi/</a>, <a href="http://www.c-to-verilog.com/" target="_blank">http://www.c-to-verilog.com/</a>
 and me :P ) a great help.<br>
   <br>And I think I will focus on transfering LLVM IR to Polyhedral IR 
during my summer of code, since there are others people also work on 
this project.<br><br>--best regards<br><font color="#888888">ether</font>