EN FR
EN FR


Project Team Compsys


Application Domains
Bibliography


Project Team Compsys


Application Domains
Bibliography


Section: Software

PoCo

Participant : Christophe Alias.

PoCo is a polyhedral compilation framework providing many features to quickly prototype program analysis and optimizations in the polyhedral model. Essentially, PoCo provides:

  • C front-end extracting the polyhedral representation of the input program. The parser itself is based on edg (via rose ), an industrial C/C++ parser from Edison group used in Intel compilers.

  • Extended language of pragmas to feed the source code with compilation directives (a schedule, for example).

  • Symbolic layer on polyhedral libraries Polylib (set operations on polyhedra) and Piplib (parameterized ILP). This feature simplifies drastically the developer task.

  • Dependence analysis (polyhedral dependence graph, array dataflow analysis), array region analysis, array liveness analysis.

  • C and VHDL code generation based on the ideas of P. Boulet and P. Feautrier [31] .

The array dataflow analysis (ADA) of PoCo has been extended to a FADA (Fuzzy ADA) by M. Belaoucha, former PhD student at Université de Versailles. FADALib is available at http://www.prism.uvsq.fr/~bem/fadalib/ .

PoCo has been developed by Christophe Alias. It represents more than 19000 lines of C++ code. The tools Bee, Chuba, and RanK presented thereafter make an extensive use of PoCo abstractions.