Course syllabus

Optimerande kompilatorer
Optimising Compilers

EDA230, 7,5 credits, A (Second Cycle)

Valid for: 2016/17
Decided by: Education Board A
Date of Decision: 2016-04-05

General Information

Elective for: D5-is, D5-pv, E4, Pi4
Language of instruction: The course will be given in Swedish

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.

Learning outcomes

Knowledge and understanding
For a passing grade the student must

Competences and skills
For a passing grade the student must

Judgement and approach
For a passing grade the student must

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.

.

Examination details

Grading scale: TH
Assessment: Written examination. Compulsory programming project which must be completed within a month after the course ends. The final grade is based on the examination and on optional additional project work.

Parts
Code: 0111. Name: Compulsory Course Items.
Credits: 3. Grading scale: UG. Assessment: For a passing grade the exercises, laboratory work and project must be completed.
Code: 0211. Name: Written Examination in Optimising Compilers.
Credits: 4,5. Grading scale: TH. Assessment: Written examination. The final grade of the course is based on the result of the exam and on additional optional project work.

Admission

Admission requirements:

The number of participants is limited to: No

Reading list

Contact and other information

Course coordinator: Jonas Skeppstedt, jonas.skeppstedt@cs.lth.se
Course homepage: http://cs.lth.se/eda230
Further information: Compulsory course items: Exercises, labs and a project.