Home > Teaching > CS 738: Advanced Compiler Optimizations

CS 738: Advanced Compiler Optimizations

Course Contents:

Introduction to Advanced topics, Compiler Algorithms Notation, Symbol table structure, Intermediate representation, Run time support, Producing code generators automatically, Control flow analysis, Data flow analysis, Dependence analysis and dependence graphs, Alias analysis, Introduction to optimizations, Early optimizations, Redundancy elimination, Loop optimizations, procedure optimizations, Register allocation, Code scheduling, control flow and low level optimizations, Inter procedural Analysis and optimizations, Optimization for memory hierarchy, Case studies.

 

Books and References:
  1. Steven S. Muchnick.Advanced Compiler Design Implementation, Morgan Kauffman Publishers, 1997.
  2. Wolfe.High Performance Compilers for Parallel Computing.
  3. Zima and Chapman.Supercompilers for Parallel and Vector Computers.
  4. Utpal Banerjee.Dependence analysis for supercomputing.
  5. Wolfe. Optimizing Supercompilers for Supercomputers.
  6. Ellis.Bulldog: A Compiler for VLIW Architectures.
  7. A. V. Aho, R. Sethi, and J. D. Ullman.Compilers: Principles, Techniques and Tools, Addison-Wesley, 1988.
  8. Hecht.Flow Analysis of Computer Programs.
  9. Research Papers.
  10. Journals:
    1. International Journal of Parallel Programming
    2. Journal of the ACM
    3. Communications of the ACM
    4. ACM Transactions on Programming Languages
    5. IEEE Software IEEE Computer
    6. IEEE Transactions on Computers
    7. IEEE Transactions on Parallel and Distributed Systems
    8. IEEE Transactions on Software Engineering
    9. IBM Journal of Research and Development
    10. IBM Systems Journal
    11. SIAM Journal of Computing
    12. SIGPLAN Notices
    13. ACTA INFORMATICA
  11. Proceedings of:
    1. International Conferences on Parallel Process
    2. International Conf on Software Engineering
    3. Lecture Notes in Computer Science series
    4. ACM Computer Science Conference
    5. SIGPLAN Conference on Programming Language Design and Implementation
    6. ACM Transactions on Programming Languages and Systemes
    7. ACM Symposium on Principles of Programming Languages
    8. SIGPLAN Symposium on Compiler Construction
    9. Annual International Symposium on Computer Architecture
    10. International Conference on Architectural Support for Programming Languages and Operating Systems (IEEE)
    11. International Parallel Processing Symposium, IEEE Computer Society.