The aim of this project is to provide automatic methods for performance optimization and for ressource consuming minimization of programs. Given the ever evolving variety and complexity of hardware, it is unreasonable to expect programmers to exploit it effectively by hand. Instead, compilers must automate optimizations to exploit hardware effectively.

Nowadays, various hardware specific constraints have to be considered. In the area of scientific computing, programs have to be as fast as possible while in the area of embedded systems, they have to be small electricity and memory consumers, and have to adapt to a continuously changing environment.

We use different approaches depending on the kind of considered programs :