EN FR
EN FR




Bibliography




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:

  • A 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.

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

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

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

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

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.