CS640 - Advanced Compilers - Fall 2008

This course examines:

      • Code analysis for optimization
      • Optimization algorithms
      • Code generation algorithms for sequential and parallel machines,
      • Algorithms for instruction scheduling and register allocation,
      • Other selected topics from the current literature.

Prerequisites: CS540 and CS583.

      • Syllabus
      • The material is available in either of the following textbooks:
        Compilers: Principles, Techniques, and Tools, A. Aho, M. Lam, R. Sethi and J. Ullman, 2007 (also known as the "dragon" book). NOTE: The earlier edition is not an adequate reference for this material.
        Engineering a Compiler, Cooper, Torczon.
        There will also be technical papers to read
      • Schedule and Slides
      • Homeworks
      • Programming Assignments
      • Web sites of interest
      • Other texts of interest:
        • Building an Optimizing Compiler Morgan, Robert. Digital Press, 1998
        • High Performance Compilers for Parallel Computing. M. Wolfe, Addison-Wesley, 1996.
        • Advanced Compiler Design and Implementation, S. Muchnick, Morgan Kaufmann Publishers, 1997.
        • Optimizing Compilers for Modern Architectures, R. Allen and K. Kennedy, Morgan Kaufmann Publishers, 2003.
        • Modern Compiler Implementation in C, A. Appel, Cambridge University Press, 1998.