Kursplan för kalenderåret 2004
OPTIMERANDE KOMPILATOREREDA230
Optimising Compilers

Antal poäng: 5. Betygskala: TH. Valfri för: C4, D4, E4, 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. Hemsida: http://www.cs.lth.se.

Mål
Kompilatorn är programmerarens viktigaste verktyg. För att kunna implementera program som är korrekta, effektiva och enkla att underhålla, är det viktigt att programmeraren vet vad han behöver optimera själv och vilket arbete kompilatorn gör bättre och snabbare än människan. Med denna kunskap blir programmeraren mer produktiv.

Kursens mål är att deltagarna efter genomgången kurs skall ha

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.

Litteratur
Skeppstedt J: An Introduction to the Theory of Optimising Compilers. Lund, 2002 (kompendium som säljs av institutionen).