Compiler Optimisation (COPT-2019) 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.18a


Monday10:0010:50Appleton TowerAT2.11
Thursday10:0010:50Appleton TowerAT2.11


Deadline Thursday 4pm Feb 21st 2019
Feedback Thursday 4pm Mar 7th 2019
Formative feedback: you will be quizzed every lecture about things we are discussing. There will also likely be a worked example exam question session.

General Course-related Documents


Lecture Notes

Some slides may be for extra content, possibly examinable, but not covered in lectures.
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


Please note that the lectures do not cover the material in as much detail as the books. You are expected to learn from the books. The lectures are to help with understanding and to give you an opportunity to ask questions. You should also read the papers indicated in the lectures. The lists below are approximate as we sometimes jump around a bit in the books.
There is a lot of reading required for this course - you have been warned! I make no apology for this because, even so, we only scratch the surface.
Engineering a Compiler
Optimizing Compilers for Modern Architectures

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