Glouton is an optimizing compiler playground for a subset of C, to be exact it aims to compile (for now) the C0 subset defined below. The choice of C0 was made for the simple reason that the reference for C0 is small, clear and well defined.
Obviously the frontend language is not important here as this project aims to focus on compiler optimizations, runtime support, code generation, data flow and control flow analysis...
This is a work in progress.
C0 is a safe subset of C you can find out more in the official website.
- Frontend: Design of the scanner and parser
- IR: Bril as an intermediate representation
- IR: Building a control flow graph
- IR: Building a sea of nodes representation
- Optimizations: Transforms and Passes approach
- Optimizations: Catalogue of optimizations (in details)
- Backend: The first steps towards a code generator
- Backend: Instruction selection, scheduling and register allocation