Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of Graph Search.
This lecture covers advanced compiler construction topics related to optimization techniques such as dead code elimination, common subexpression elimination, constant folding, and register allocation. The instructor explains how register allocation transforms a program using virtual registers into one using physical machine registers, with some registers possibly being spilled to memory. Techniques like graph coloring and linear scan register allocation are discussed, along with inlining heuristics and contification. The lecture also delves into interference graphs, contifiable subsets, and the process of shrinking optimizations. Various examples and exercises are provided to illustrate the concepts.