Third-Cycle Courses

Faculty of Engineering | Lund University

Details for the Course Syllabus for Course EDAN75F valid from Spring 2018

Printable view

  • The purpose of the course is that the students should understand the possibilities and limitations of modern optimising compilers, and thereby understand what they must optimise manually and what the compiler can do automatically.
  • Control-flow analysis, data-flow analysis, dependence analysis, alias analysis, redundancy elimination, loop optimisations, procedure optimisations, register allocation, code scheduling, optimisation for object oriented languages, optimisation of the memory hierarchy and vectorisation for processors with SIMD instructions.
Knowledge and Understanding
  • For a passing grade the doctoral student must
  • understand which algorithms and data structures are used when modern optimising compilers are implemented, and
    understand which language constucts limit the compiler's ability to optimise code.
Competences and Skills
  • For a passing grade the doctoral student must
  • be able to analyse benchmark programs in order to understand which optimisation algorithms are suitable to implement, and
    be able to implement optimisation algorithms on SSA form, validate that they are implemented correctly and to measure their performance effects.
Judgement and Approach
  • For a passing grade the doctoral student must
  • without assistance be able to read and understand a scientific article on optimising compilers and to present it to the other students,
    be able to make a rough estimation of how long it may take to implement the ideas of the article, and
    make a judgement of whether that amount of work is worthwhile,
    and finally to determine whether the optimisation ideas can be suitable to perform by hand, if the compiler cannot do it automatically.
Types of Instruction
  • Lectures
  • Laboratory exercises
Examination Formats
  • Written exam
  • Failed, pass
Admission Requirements
  • EDAF05 Algorithms, data structures and complexity or EDA027 Algorithms and Data Structures
Assumed Prior Knowledge
Selection Criteria
  • Skeppstedt, J.: An Introduction to the Theory of Optimizing Compilers. Skeppberg, 2016. ISBN 9789197794039.
Further Information
Course code
  • EDAN75F
Administrative Information
  •  -03-22
  • Professor Thomas Johansson

All Published Course Occasions for the Course Syllabus

1 course occasion.

Start Date End Date Published
2021‑10‑01 (approximate) 2022‑04‑01 2021‑09‑17

Printable view