Compiler Optimisation (COPT-2017) Home Page


This course introduces students to modern techniques in efficient implementation of programming languages. Modern processors and systems are designed based on the assumption that a compiler will be able to effectively exploit architectural resources. This course will examine in detail techniques to exploit instruction level parallelism, memory hierarchy and higher level parallelism. It will examine classic static analysis approaches to these problems and introduce newer feedback directed and dynamic approaches to optimisation. The course work will require students to implement selected optimisations in a research compiler.


For 4th year students, Compiling Techniques is a pre-requisite. MSc students must have completed an introductory course in compilation or have written a compiler.

Taught By

Name Hugh Leather
Office IF 1.10


Monday10:0010:50David Hume TowerLG.08
Thursday10:0010:50David Hume TowerLG.08


Deadline Thursday 4pm Feb 23rd 2017
Feedback Thursday 4pm Mar 9th 2017

General Course-related Documents


Lecture Notes

Video lectures on YouTube
Old lecture notes: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16

Tools and Resources

Home : Teaching : Courses 

Informatics Forum, 10 Crichton Street, Edinburgh, EH8 9AB, Scotland, UK
Tel: +44 131 651 5661, Fax: +44 131 651 1426, E-mail:
Please contact our webadmin with any comments or corrections. Logging and Cookies
Unless explicitly stated otherwise, all material is copyright © The University of Edinburgh