ECE489H1: Compilers II

Hours: 
24L/36P

Theoretical and practical aspects of building modern optimizing compilers. Topics: intermediate representations, basic blocks and flow graphs, data flow analysis, partial evaluation and redundancy elimination, loop optimizations, register allocation, instruction scheduling, interprocedural analysis, and memory hierarchy optimizations. Students implement significant optimizations within the framework of a modern research compiler. (This course is a cross-listing of ECE540H1, Faculty of Applied Science and Engineering.)

Prerequisite: 
Recommended Preparation: 

ECE385H1, proficiency in C

Distribution Requirements: 
Science
Breadth Requirements: 
The Physical and Mathematical Universes (5)