CSC716: Advanced compiler design | 6 credits (40-10-10) |
Objectives
To provide skills on optimising compilers.
Contents
Overview of compiler construction. Introduction to optimization; motivation and history; loop optimization; local and global optimisation techniques; value numbering; redundancy elimination; lazy code motion; profile guided code positioning; Data flow analysis and frameworks; Definition-use chain, building SSA, Optimisation for modern machine architectures: vector, parallel and distributed machine architectures. Relevant data structures and algorithms; formal foundations for optimization techniques. Optimisation in other PL paradigms; dynamic compilation in OOL.