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:

Steven S. Muchnick.Advanced Compiler Design Implementation, Morgan Kauffman Publishers, 1997.

Wolfe.High Performance Compilers for Parallel Computing.

Zima and Chapman.Supercompilers for Parallel and Vector Computers.

Utpal Banerjee.Dependence analysis for supercomputing.

Wolfe.Optimizing Supercompilers for Supercomputers.

Ellis.Bulldog: A Compiler for VLIW Architectures.

A. V. Aho, R. Sethi, and J. D. Ullman.Compilers: Principles, Techniques and Tools, Addison-Wesley, 1988.

Hecht.Flow Analysis of Computer Programs.

Research Papers.


 International Journal of Parallel Programming   Journal of the ACM   Communications of the ACM   ACM Transactions on Programming Languages   IEEE Software   IEEE Computer   IEEE Transactions on Computers   IEEE Transactions on Parallel and Distributed Systems   IEEE Transactions on Software Engineering   IBM Journal of Research and Development   IBM Systems Journal   SIAM Jounal of Computing   SIGPLAN Notices   ACTA INFORMATICA

Proceedings of:

 International Conferences on Parallel Processing      Proceedings of

International Conf on Software Engineering Lecture Notes in Computer Science series. Proceedings of ACM Computer Science Conference Proceedings of SIGPLAN conference on Programming Language Design and Implementation ACM Transactions on Programming Languages and Systemes ACM Symposium on Principles of Programming Languages Proceedings SIGPLAN Simposium on Compiler Construction Annual International Symposium on Computer Architecture Proc. International Conference on Architectural Support for Programming Languages and Operating Systems (IEEE) International Parallel Processing Symposium, IEEE Computer Society.