lunduniversity.lu.se

Third-Cycle Courses

Faculty of Engineering | Lund University

Details for Course EDAN75F Optimising Compilers

Printable view

General
  • EDAN75F
  • Active
Course Name
  • Optimising Compilers
Course Extent
  • 7.5
Type of Instruction
  • Course given jointly for second and third cycle
Administrative Information
  • 7121 (Computer Science (LTH))
  •  -03-22
  • Professor Thomas Johansson

Current Established Course Syllabus

General
Aim
  • 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.
Contents
  • 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
Literature
  • 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 Established Course Syllabi

1 course syllabus.

Valid from First hand in Second hand in Established
Spring 2018 2017‑03‑22 09:59:41 2017‑03‑22 10:03:49 2017‑03‑22

Current or Upcoming Published Course Occasion

No matching course occasion was found.

All Published Course Occasions

1 course occasion.

Course syllabus valid from Start Date End Date Published
Spring 2018 2021‑10‑01 (approximate) 2022‑04‑01 2021‑09‑17

Printable view