NSWI109 - Konstrukce překladačů

LS 2021/2022

David Bednárek

2/1 Z,Zk


Pravidla pro přednášky, zkoušky, cvičení a zápočty jsou součástí obrázků z přednášek.


Obrázky z přednášek

Tato tabulka vznikla naivní lineární transformací LS 2020/21 do LS 2021/22. Skutečné přiřazení témat a slajdů k datům bude jiné.

Datum Téma Slides (CZ) Videos
(CZ, 2020/21)
Videos
(CZ, 2019/20)
Narrated slides
(CZ, 2019/20)
2022-02-17 Úvod
2022-02-24 Názvosloví
2022-03-03 Architektura
2022-03-10 Mezikódy 82min 86MB
2022-03-10 Cvičení: Ukázky mezikódu LLVM
2022-03-17 Alokace registrů 82min 84MB 14min 18MB
2022-03-24 Scheduling 76min 103MB
2022-03-24 Cvičení
2022-03-31 Scheduling
2022-04-07 Software pipelining 84min 83MB
2022-04-07 Cvičení: ukázky nízkoúrovňového mezikódu LLVM
2022-04-14 Paralelizace a vektorizace 83min 74MB
2022-04-21 Analýza ukazatelů a aliasů 84min 77MB
2022-04-21 Cvičení
2022-04-28 Analýza ukazatelů a aliasů
2022-05-05 Analýza dynamických jazyků 92min 90MB
2022-05-05 Cvičení
2022-05-12 Programovací jazyky a výkonnost 84min 85MB
2022-05-19 Další optimalizace 74min 67MB
55min 47MB
2022-05-19 Zápočtová písemná práce

Pomůcky ke cvičení

CLANG/LLVM umožňují výpis různých forem mezikódu v různých fázích překladu. K jejich výpisu můžete využít skript process.bash. Jedním z výstupů je soubor *.instrs, který obsahuje dumpy MIR po jednotlivých fázích - k jeho rozdělení na kousky slouží skript split_instrs.py.



Credit: XKCD (CC BY-NC 2.5)