[LLVMdev] GSoC2012 proposal -- A new Back-end for polyhedral Optimization framework for LLVM (Polly)

Tsingray Liu tsingrayliu at gmail.com
Sat Mar 24 06:47:23 PDT 2012


Hi all,
   My name is Qingrui Liu, a student at Sun Yat-sen University, China. I
have been working on high level synthesis project which is implemented as a
back-end of LLVM, in the last two years.When I want to use Polly to
generate parallel LLVM-IR from Polly-IR for me as input to my high level
synthesis tools at the begining of this year, I found that Polly's back-end
is not flexible and modular enough to allow user adding new platform
support. So I am going to improve the existing back-end to an adaptive and
modular back-end which will unleash the power of Polly to other projects.

To be short, I plan to implement my proposal in steps as follows:
1. refactor the existing back-end to a preliminary modular back-end.
2. Add A CodeGen adapter, abstract away the detail of CLAst.
3. Implementation of Specific code generation class to the new back-end. In
this phase, I am going to implement a SIMD code generation class.

An ultimate construction of the new backend will be like the figure below:

[Original Polly codegeneration pass]   [Click codegeneration[1]]  [whole
function vectorize codegeneration[2]], ....
                                              \
   |                                /
                                                  \
   |                           /
                                                     \
    |                        /
                                                         \
    |                    /
                                                             \
    |                 /
                                                                  CodeGen
adapter
                                                                        /
           \
                                                                     /
               \
                                                                  /
                 \
                                           Cloog AST infrastructure
 XXX  AST infrastructure ...
                                                               \
                    /
                                                                  \
                /
                                                                     \
              /
                                                                     SCOP
(Polly IR)

After the new backend is done, I think it will easy for other developers to
implement a code generation pass which will meet the requirements of their
platforms or LLVM back-ends. So the optimized LLVM-IR could be passed to
the ordinary LLVM back-ends, such as the high level synthesis back-end I
mentioned above. It will be a great help to both the developers and LLVM.

Tobias Grosser and Ether, who are the contributors of Polly, have assented
to be my mentor, If my proposal is approved. Is this idea good enough for
the Google summer of code? If it is, I am going to write a proposal for it.
Any suggestion is appreciated.

Sincerely,
Qingrui Liu

[1]http://supertech.csail.mit.edu/cilk/
[2]http://www.cdl.uni-saarland.de/projects/wfv/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120324/c9b81731/attachment.html>


More information about the llvm-dev mailing list