Course material 2010–11
Optimising Compilers
Principal lecturer: Prof Alan Mycroft
Taken by: Part II
Syllabus
Past exam questions
Information for supervisors (contact lecturer for access permission)
Further information:
- Course notes Part A (as PDF)
- Course notes Part B–D (as PDF)
- Course slides, excluding lecture 13a (as PDF)
- Lecture 13a slides (as PDF)
- addr3.c, a 1-page C program to convert arithmetic expressions into 3-address code (cf. TRN from the Part IB Compiling Techniques course)
- The Decompilation Page and its Legality of Decompilation page appearing as part of www.program-transformation.org WIKI.
- Cifuentes' DCC system.
- Cifuentes, C.
Reverse Compilation Techniques [not for the fainthearted],
PhD thesis, University of Queensland, 1994.
First 8 pages of Chapter 6 of Cifuentes' PhD - Mycroft, A. and Norman, A.C. Optimising compilation---classical imperative languages. Proc. XIX SOFSEM 92, Ždiar, Czechoslovakia. INFOSTAT, Bratislava, 1992. Also available in technical report 269, Cambridge University Computer Laboratory.
- Mycroft, A. and Norman, A.C. Optimising compilation---lazy functional languages. Proc. XIX SOFSEM 92, Ždiar, Czechoslovakia. INFOSTAT, Bratislava, 1992. Also available in technical report 269, Cambridge University Computer Laboratory.
- Mycroft, A.
Type-Based Decompilation [not for the fainthearted].
Lecture Notes in Computer Science: Proc. ESOP'99, vol. 1576, Springer-Verlag, 1999. - Johnson, N.E. and Mycroft, A.
Combined Code Motion and Register Allocation using the Value State
Dependence Graph [not for the fainthearted].
Lecture Notes in Computer Science: Proc. CC'03, vol. 2622, Springer-Verlag, 2003. - Touati, S.-A.-A.
Register Pressure in Instruction Level Parallelism
[not for the fainthearted],
PhD thesis, University of Versailles, 2002.