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.
|Deadline ||Thursday 4pm Feb 23rd 2017|
| ||Feedback ||Thursday 4pm Mar 9th 2017|
General Course-related Documents
- R. Joshi, G. Nelson, K. H. Randall Denali: A Goal-directed Superoptimizer, PLDI 2002 (required, examinable reading)
- K. D. Cooper, L. Torczon Engineering a Compiler, Morgan Kaufmann 2003
- R. Allen K. Kennedy Optimizing Compilers for Modern Architectures: A Dependence-based Approach, Morgan Kaufmann 2001
- A. Aho, R. Sethi, J.D.Ullman Compilers: Principles, Techniques and Tools, Addison Wesley 1986
- S. Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann 1997
Old lecture notes: 1
Tools and Resources
Ayrton Massey's Data-Flow Tutor.
Ayrton was a student of mine who built this rather excellent teaching tool for you.
BTW, you can fork his project for this on GitHub.
Engineering A Compiler (pdf)
This is the pdf of the first text book. I assume this is legit, but haven't checked, or downloaded it myself. Download at your
|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