Kursplan för läsåret 2007/2008
OPTIMERANDE KOMPILATOREREDA230
Optimising Compilers

Antal högskolepoäng: 7,5. Betygskala: TH. Nivå: A (Avancerad nivå). Undervisningsspråk: Kursen ges på svenska. Valfri för: D4, D4dpd, D4ps, E4ps, F4. Kursansvarig: Univ.lektor Jonas Skeppstedt, Jonas.Skeppstedt@cs.lth.se, Inst f datavetenskap. Förkunskapskrav: EDA027 Algoritmer och datastrukturer. Prestationsbedömning: Tentamen är skriftlig. Ett projekt ingår i kursen. Detta skall fullgöras inom en månad efter kursens slut. Slutbetyget bestäms av betygen på den skriftliga tentamen och ett frivilligt extra projekt. Övrigt: Obligatoriska moment: Övningar, datorlaborationer och projektuppgift. Hemsida: http://www.cs.lth.se/EDA230.

Syfte
Kursens syfte är att studenterna skall förstå möjligheter och begränsningar hos moderna optimerande kompilatorer, och därigenom veta vad de behöver optimera för hand och vad kompilatorer kan optimera automatiskt.

Mål

Kunskap och förståelse
För godkänd kurs skall studenten

Färdighet och förmåga
För godkänd kurs skall studenten

Värderingsförmåga och förhållningssätt
För godkänd kurs skall studenten

Innehåll
Kontrollflödesanalys, dataflödesanalys, beroendeanalys, aliasanalys, elimination av redundans, optimering av loopar, optimering av proceduranrop, registerallokering, schemaläggning av instruktioner, optimering för objektorienterade språk, optimering av minneshierarkin samt vektorisering för processorer med SIMD instruktioner, t.ex. AltiVec och CELL.

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