Search for contacts, projects,
courses and publications

Compilers

People

Nystrom N.

Course director

Javed O.

Assistant

Description

This course studies the construction of optimizing compilers, focusing on the "backend" of the compiler: techniques for generating efficient code on modern architectures. We will cover dataflow analysis, program optimization, and code generation across basic blocks, procedures, and complete programs. We will look some of the key challenges for modern compilers and runtime systems: optimization of object-oriented languages, dynamic compilation, garbage collection, dependence analysis, and loop transformations. The bulk of your course grade will come from programming assignments that implement program analysis, intermediate representations, and optimizations.

 

 

REFERENCES

  • "Compilers: Principles, Techniques, and Tools", 2nd edition, Alfred Aho, Monica Lam, Ravi Sethi, and Jeffrey Ullman, 2006.
  • "Advanced Compiler Design and Implementation", Steven S. Muchnick, 1997.

Education