Kursplan för läsåret 2002/2003
OPTIMERANDE KOMPILATOREREDA230
Optimising Compilers

Antal poäng: 5. Betygskala: TH. Valfri för: D4, E4, F4. Kursansvarig: Universitetslektor Jonas Skeppstedt, Jonas.Skeppstedt@cs.lth.se. Förkunskapskrav: EDA027 Algoritmer och datastrukturer. Rekommenderade förkunskaper: EDA180 Kompilatorteknik eller EDA200 Översättarteknik. Prestationsbedömning: Tentamen är skriftlig. Ett projekt ingår i kursen. Detta skall fullgöras inom tre månader efter kursens slut. Slutbetyget bestäms av betygen på den skriftliga tentamen och ett frivilligt extra projekt. Webbsida: 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 gedigen förståelse om optimerande kompilatorers möjligheter och begränsningar
ha ingående kunskap om algoritmer och datastrukturer som används i moderna optimerande kompilatorer.

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 samt optimering av minneshierarkin.

Litteratur
Skeppstedt, J: Theory of Optimising Compilers. Lund, 2000 (kompendium som säljs av institutionen).