Cours "Compilation avancée"

  1. Filtrage
    Notes. Lecture: Two techniques for Compiling Lazy Pattern Matching, Luc Maranget, 1994.

  2. Fermetures
    Notes. Pas de lectures (regarder éventuellement les références données dans les notes).

  3. Gestion mémoire
    Notes. Lecture: Uniprocessor Garbage Collection Techniques, Paul Wilson, 1996.

  4. Représentations de données
    Notes. Lecture: Unboxed objects and polymorphic typing, Xavier Leroy, 1992.

  5. 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).

  6. Allocation de registres
    Notes. Lecture: Coloring Heuristics for Register Allocation, P. Briggs, K. D. Cooper, L. Torczon.

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

  8. 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).

  9. Hiérarchie mémoire
    Notes. Pas de lecture.

Examen de rattrapage.