| Title | Improved GIMPLE to GRAPHITE transformation |
|---|---|
| Student | Tobias Grosser |
| Mentor | Sebastian Pop |
| Abstract | |
|
Since about 20 month people are working on polyhedral loop representation in the gcc called GRAPHITE. The idea is to abstract from normal control flow structures and generate a more mathematical representation using polyhedrons. Traditional structures like the CFG and conditional statements are left behind. This new representation allows normal loop optimization to be simple mathematical operations, which can easily be applied.
At the moment the general shape of the GRAPHITE framework is quite clear and people have started to work on different areas. While they reached new areas of development, it became quite clear, that the GRAPHITE frontend, the translation from GIMPLE to GRAPHITE has some serious drawbacks, which stop people to continue their development fast and efficiently. During Summer of Code I would like to solve these problems and build a solid basis for further graphite development. The first part of my work will be to collect example code to cover all code the gcc may generate and discuss the expected representation with the graphite developers. There seem to be several important edge cases, where the representation is not easy. These cases have to be discussed early to get a solid polyhedral representation even for edge cases, before much code depends on the current representation. The next part of my work is to fix the SCoP detection, the extraction of the code, which we can be represented in our polyhedral model. At the moment this code works for some simple cases, but is incorrect for most testcases. After we can detect the code we can represent, I will add conditional statements to the GIMPLE to GRAPHITE transformation. Now GRAPHITE should be able to transform every affine natural loop nest. To verify my work, I will make cloog regenerate the original code structure out of the polyhedral model. After I finished my work, the GCC has a solid polyhedral loop representation for future GRAPHITE work. |
|