PředmětyPředměty(verze: 945)
Předmět, akademický rok 2023/2024
   Přihlásit přes CAS
Optimalizace kódu produkčních překladačů - NSWI134
Anglický název: Code Optimization in Production Compilers
Zajišťuje: Katedra aplikované matematiky (32-KAM)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2017
Semestr: letní
E-Kredity: 3
Rozsah, examinace: letní s.:2/0, Zk [HT]
Počet míst: neomezen
Minimální obsazenost: neomezen
4EU+: ne
Virtuální mobilita / počet míst pro virtuální mobilitu: ne
Stav předmětu: vyučován
Jazyk výuky: čeština, angličtina
Způsob výuky: prezenční
Způsob výuky: prezenční
Garant: doc. Mgr. Jan Hubička, Ph.D.
Třída: Informatika Mgr. - volitelný
Kategorizace předmětu: Informatika > Softwarové inženýrství
Anotace -
Poslední úprava: G_I (06.06.2008)
Open source překladače, middle-end, reprezentace programu a dataflow, SSA forma, alias analýza, globální optimalizace, interprocedurální optimalizace.
Cíl předmětu
Poslední úprava: G_I (06.06.2008)

Narozdíl od přednášky NSWI109 "Konstrukce překladačů" si přednáška neklade za cíl podat přehled o celém back-endu, ale soustředí se na zajímavé výsledky v oblasti optimalizace, které našly své uplatněni v praktických middle-endech.

Podmínky zakončení předmětu
Poslední úprava: doc. Mgr. Jan Kynčl, Ph.D. (31.05.2019)

Ústní zkouška.

Literatura -
Poslední úprava: G_I (06.06.2008)

Advanced Compiler Design and Implementation

Steven Muchnick

Morgan Kaufmann, 1997, ISBN 978-1558603202

Building an Optimizing Compiler

Robert Morgan

Digital Press, 1998, ISBN 978-1555581794

Požadavky ke zkoušce
Poslední úprava: doc. Mgr. Jan Hubička, Ph.D. (28.02.2018)

Zkouška proběhne ústní formou, v rozsahu 2-3 otázek pokrytých látkou probranou na přednáškách.

Sylabus -
Poslední úprava: G_I (06.06.2008)
  • Existující svobodné překladače (GCC, LLVM, Open64, atd.)
  • Reprezentace programu v mezikódu
  • Graf řízení toku
  • SSA forma
  • Základní optimalizace nad SSA formou (propagace konstant, global value numbering, atd.)
  • Alias analýza a optimalizace manipulace s pamětí
  • Detekce smyček a jejich optimalizace
  • Optimalizace pro paměťovou hierarchii
  • Interprocedurální optimalizace (organizace překladu, inlining, propagace konstant, atd.)
  • Optimalizace řízená profilem, dynamická optimalizace

 
Univerzita Karlova | Informační systém UK