Google Summer of Code 2009

Hi,

I am final year undergraduate in the Indian Institute of Technology Kanpur, India and I would like to work on the LLVM compiler infrastructure in the summers under Google Summer of Code 2009.

I am greatly interested in adding new transformations and optimization passes to the existing compiler - particularly the _value range propagation_ or _predictive commoning_. Since coming across the projects, I have gone through these analyses and I am very excited about working on them. I have a deep interest in compilers and code optimization and I would be joining UIUC from next Fall as a PhD student. I feel that this might be an added advantage and help in any the future collaboration in the project.

I have a good background in compilers theory as I have completed the courses - "Advanced compiler optimizations" and "Parallel Execution of Programs" in my undergraduate study. I also have a good programming knowledge in C/C++ and in the past, I have designed a complete compiler for Fortran95 as part of my undergraduate compiler course. I have also implemented a library supporting the parallelization of partially parallel loops using the R-LRPD Test in another project.

I feel that with my background, I would be able to complete the assigned project in the summers. I wanted to find out if someone would like to mentor me on any of the above projects this summer. It would also be a great help if someone could direct me to good references and help me out with the problem before I write my project proposal.

Thank you.

Regards,
Pranav Garg.

Pranav wrote:

Hi,

I am final year undergraduate in the Indian Institute of Technology Kanpur, India and I would like to work on the LLVM compiler infrastructure in the summers under Google Summer of Code 2009.

I am greatly interested in adding new transformations and optimization passes to the existing compiler - particularly the _value range propagation_ or _predictive commoning_. Since coming across the projects, I have gone through these analyses and I am very excited about working on them. I have a deep interest in compilers and code optimization and I would be joining UIUC from next Fall as a PhD student. I feel that this might be an added advantage and help in any the future collaboration in the project.

I have a good background in compilers theory as I have completed the courses - "Advanced compiler optimizations" and "Parallel Execution of Programs" in my undergraduate study. I also have a good programming knowledge in C/C++ and in the past, I have designed a complete compiler for Fortran95 as part of my undergraduate compiler course. I have also implemented a library supporting the parallelization of partially parallel loops using the R-LRPD Test in another project.

I feel that with my background, I would be able to complete the assigned project in the summers. I wanted to find out if someone would like to mentor me on any of the above projects this summer.

I'm very interested in mentoring a project to implement VRP. Based on your description, you have a more solid background in compiler theory than I do, though I have substantial experience working with LLVM. Hopefully I'll be able to keep up. :wink:

  It would also be a

great help if someone could direct me to good references and help me out with the problem before I write my project proposal.

Offhand, the two I would point at are GCC's VRP implementation documented here:
   * http://www.airs.com/dnovillo/Papers/gcc2005-slides.pdf
and eliminating array bounds checks on demand:
   * http://portal.acm.org/citation.cfm?id=349342
which describe two very different approaches, so you can pick the one you like.

Nick