Cours "Compilation avancée"
- Filtrage
Notes.
Lecture: Two techniques for Compiling Lazy Pattern Matching, Luc Maranget, 1994.
- Fermetures
Notes.
Pas de lectures (regarder éventuellement les références données
dans les notes).
- Gestion mémoire
Notes.
Lecture: Uniprocessor Garbage Collection Techniques, Paul Wilson, 1996.
- Représentations de données
Notes.
Lecture: Unboxed objects and polymorphic typing, Xavier Leroy, 1992.
- Sélection d'instructions
Notes.
Lecture: sur les graphes de flots, lire éventuellement le début du chapitre 10 (surtout la section 10.4) du livre Compilers - principles, techniques and tools de Aho, Sethi, Ullman (Addison-Wesley, traduit en français chez InterÉditions).
- Allocation de registres
Notes.
Lecture: Coloring Heuristics for Register Allocation, P. Briggs, K. D. Cooper, L. Torczon.
- Analyses de flot
Notes.
Lecture: sur les analyses classiques de flot de données, lire éventuellement les sections 10.5 et 10.6 du livre Compilers - principles, techniques and tools. Sur les analyses de flot de contrôle, lire la section 3
de Infinitary control flow analysis: a collecting semantics for closure analysis, F. Nielson et H. R. Nielson, 1997.
- Ordonnancement (scheduling)
Notes.
Lecture: section 4.3 du PowerPC compiler writer's guide (description des contraintes de scheduling et d'un algorithme de list scheduling pour les processeurs PowerPC).
- Hiérarchie mémoire
Notes.
Pas de lecture.
Examen de rattrapage.