Department of Computer Science and Technology

Technical reports

Optimising compilation

Alan Mycroft, Arthur Norman

October 1992, 23 pages

DOI: 10.48456/tr-269

Abstract

This report consists of pre-prints of two tutorial lectures on optimising compilation to be presented at the Czechoslovak ‘SOFSEM 92’ conference. The first discusses optimising compilers based on dataflow analysis for classical imperative languages like ‘C’. The second turns attention to optimisation of lazy functional languages by ‘strictness analysis’.

Part 1: Classical imperative languages

This tutorial considers the design of modern machine-independent optimising compilers for classical (C-like) languages. We draw from two sources (1) the literature and lectures by the authors at Cambridge and (2) the ‘Norcroft’ compiler suite jointly constructed by the authors.

Part 2: Lazy functional languages

This lecture considers the optimisation of functional programming languages (particularly ‘lazy’ languages) based on ‘strictness analysis’. Such optimisations alter evaluation order to allow more efficient translation into von Neumann architecture or to increase the parallelism in a sequentially specified system (such as that implied by lazy-semantics).

Full text

PDF (2.2 MB)

BibTeX record

@TechReport{UCAM-CL-TR-269,
  author =	 {Mycroft, Alan and Norman, Arthur},
  title = 	 {{Optimising compilation}},
  year = 	 1992,
  month = 	 oct,
  url = 	 {https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-269.pdf},
  institution =  {University of Cambridge, Computer Laboratory},
  doi = 	 {10.48456/tr-269},
  number = 	 {UCAM-CL-TR-269}
}