Course Code: CS536 Course Name: Advanced Compilers Prerequisites: CS346 Syllabus: Introduction to code optimization, efficient code generation and parallelizing compilers. Data-flow analysis : Classical theory, bi-directional flows, unified algorithms etc. Efficient code generation: Algorithms, register allocation heuristics and automated tools. Parallelism detection : Data dependence, control dependence, various restructuring transformations on loops. Inter-procedural analysis : Constant propagation, data dependence etc. Selected case studies. Texts: 1. S. Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann, 1997. 2. M. J. Wolfe, High Performance Compilers for Parallel Computing, Addison-Wesley, 1995. References: 1. V. Sarkar, Partitioning and Scheduling Parallel Programs for Multiprocessors, MIT Press, 1989. 2. A. Aho, R. Sethi and J. D. Ullman, Compilers: Principles, Techniques and Tools, Addison Wesley, 1986. 3. Selected research papers. |