Simone Campanoni

Tenure-track assistant professor
Department of Computer Science at Northwestern University

Simone Campanoni

Computer Science
Northwestern University

CS 397/497: Advanced Topics in Compilers

Description

Production compilers often do not include the latest compilation techniques proposed by the research community. This is because the latest techniques are often not yet as robust as they need to be to be included in a production compiler. My other compiler classes (COMP_SCI 322 and COMP_SCI 323) teach well-established compilation techniques included in production compilers (e.g., register allocation, instruction selection). This class, instead, focuses on the advanced compilation techniques the research community has proposed that are not yet included in production compilers. This class covers the large number of compilation techniques proposed by the research community across several years. Specifically, we organize these compilation techniques in topics. Every year we will focus only on up to two topics (e.g., automatic parallelizing compilers, autotuning) to allow a deep dive study.

Syllabus
Department page

Material

This class takes materials from many research papers published in compiler venues. Such papers and their codebase are distributed via Canvas. Finally, this class relies on the NOELLE compilation layer.
All the slides used in the 2021-2022 class are below. The rest of the material is available only on Canvas.

Week number First lecture Second lecture
Week 0 Welcome,
LLVM (from 323)
Introduction to NOELLE,
Paper discussion
Week 1 Dependences with NOELLE,
Loops with NOELLE
Profiling code with NOELLE,
Data-flow analysis with NOELLE
Week 2 Call graph with NOELLE,
Paper discussion
Paper discussion
Week 3 Paper discussion Project discussion
Week 4 Paper discussion Project discussion
Week 5 Paper discussion Paper discussion
Week 6 Paper discussion Paper discussion
Week 7 Paper discussion Paper discussion
Week 8 Project discussion Project discussion
Week 9 Project discussion Project discussion

External links:
LinkedIn profile LinkedIn Follow SimoneCampanoni on Twitter Twitter GitHub profile GitHub

Share this page with: