Optimalizující kompilátor
9. 9. 2017
Understanding Compiler Optimization – Chandler Carruth – Opening Keynote Meeting C++ 2015
Přednáška, která představuje fungování optimalizujícího kompilátoru. Má tři hlavní fáze:
- úklid po frontendu kompilátoru, (nedělá žádné optimalizace, jen vygeneruje LLVM IR v SSA formě)
- kanonizace IR (rozdílný kód, který je funkčně shodný vede k identickému IR)
- collapse abstractions
Tři klíčové abstrakce se kterými se potýká:
- functions, calls, and the call graph
- memory, loads and stores
- loops