Section: Overall Objectives
The Gecos project is an open source Eclipse based compiler infrastructure developed in the group since 2004. Gecos was designed so as to address part of the shortcomings of existing C/C++ infrastructures such as SUIF and LLVM. Its main characteristic are high-lighted below:
A complete Java based implementation based on sound software engineering practices (design patterns and eclipse plug-in), which allows for fast prototyping of complex compiler passes.
An extensible C compiler front-end, which makes C language extensions easy to implement.
Most of the classical compiler passes, including constant propagation, liveness analysis, single assignment form, procedure inlining, loop unrolling, etc.
A retargetable back-end for ASIP and soft core synthesis including code selection, flexible register allocators, generic assembler, VHDL and SystemC soft-core generation.
To illustrate the commitment of the group members in this infrastructure, it is to note that an important development effort took place in 2008. This effort resulted in the merging of two representations (HCDG for Hierarchical Conditional Dependency Graph, and PRDG for Polyhedral Reduced Dependency Graph) in a new one. These models find their root respectively in the synchronous model (HCDG) and in the polyhedral model (PRDG).
The development of the Gecos infrastructure is expected to move ahead at an even faster pace thanks to two joint STMicroelectronics/INRIA projects, which aim at using the Gecos infrastructure as a source-to-source optimizing compiler for hardware synthesis.