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.