[cfe-dev] GSoC Project(s) ideas

Tobias Grosser grosser at fim.uni-passau.de
Mon Apr 4 07:06:25 PDT 2011


On 04/02/2011 11:54 AM, Simone Pellegrini wrote:
> Hello,
> I am interested in participating to this year's GSoC. My idea is to
> bring proof of concept prototypes which I have implemented over time
> in Clang to the main code base. I would like to propose a couple of
> projects, but before I wanted to hear from the community if there is a
> real interest or not.

Hi Simone,

both projects look nice. Some comments from my side.

> 1) Advanced Clang pragma handling: I would like to propose an
> extension to the current handling of pragmas which will (hopefully)
> make life much easier for people who wants to define new pragmas.
> Basically the system I am thinking of provides an easy way for the
> user to specify new type of pragmas (basically stealing some of the
> ideas of the Spirit Boost parser) and the machinery to automatically
> attach pragmas to statements. Once the system is integrated, the idea
> is to realize OpenMP frontend which is yet not available in Clang.

I like the idea of adding OpenMP support to clang and I got already 
several people asking me about this. Unfortunately I cannot mentor you, 
due to my limited clang experience. Maybe some of the clang developers 
can take care of this.
In terms of the OpenMP backend support,
Patrick CARRIBAULT <patrick.carribault at cea.fr> (CCed) may be a good 
person to talk to. He has developed mpc[1], a nice new OpenMP library, 
which you may use and might be able to support you with the LLVM backend 
support.

> 2) Polyhedral model extraction: the idea is simple if you are familiar
> with the polyhedral model to describe loops in a program. This is
> actually something that already exists in LLVM (Polly) but extracting
> these kind of information from the C/C++ code would make possible to
> have dependency analysis at the source code level (which is nice for
> auto-parallelization). Also here I have a working prototype which
> needs some work to be done to make it stable.

This is an interesting idea which would be great for the polyhedral 
community and it may result in the development of some nice 
optimizations. I can probably mentor you on the polyhedral side and the 
general LLVM side, but it would be necessary to at least have a 
co-mentor who knows the clang internals. Furthermore, we should make 
sure there is general interested from the LLVM community. I personally 
believe it would be great, as it will attract many people concerned 
about HPC, but people may think differently.

Cheers
Tobi



More information about the cfe-dev mailing list