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>