Syllabus academic year 2010/2011
(Created 2010-07-25.)
OPTIMISING COMPILERSEDA230
Credits: 7,5. Grading scale: TH. Cycle: A (Second Cycle). Main field: Technology. Language of instruction: The course will be given in Swedish. Optional for: D4, D4is, D4pv, E4, E4pv, Pi4. Course coordinator: Jonas Skeppstedt,, Jonas.Skeppstedt@cs.lth.se, Dept of Computer Science. Prerequisites: EDAF05 Algoritms, data structures and complexity or EDA027 Algorithms and Data Structures. 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. Home page: http://cs.lth.se/eda230.

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.

Knowledge and understanding
For a passing grade the student must

Skills and abilities
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, such as AltiVec and CELL.

.

Literature
Skeppstedt, J: An Introduction to the Theory of Optimising Compilers with Performance Measurements.