SubjectsSubjects(version: 970)
Course, academic year 2024/2025
   Login via CAS
Code Optimization in Production Compilers - NSWI134
Title: Optimalizace kódu produkčních překladačů
Guaranteed by: Department of Applied Mathematics (32-KAM)
Faculty: Faculty of Mathematics and Physics
Actual: from 2017
Semester: summer
E-Credits: 3
Hours per week, examination: summer s.:2/0, Ex [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: Czech, English
Teaching methods: full-time
Guarantor: doc. Mgr. Jan Hubička, Ph.D.
Teacher(s): doc. Mgr. Jan Hubička, Ph.D.
Class: Informatika Mgr. - volitelný
Classification: Informatics > Software Engineering
Annotation -
Open source compilers, middle-end, intermediate representations, dataflow, SSA form, alias analysis, global optimization, interprocedural optimization.
Last update: G_I (06.06.2008)
Aim of the course - Czech

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.

Last update: G_I (06.06.2008)
Course completion requirements - Czech

Ústní zkouška.

Last update: Kynčl Jan, doc. Mgr., Ph.D. (31.05.2019)
Literature -

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

Last update: G_I (06.06.2008)
Requirements to the exam - Czech

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

Last update: Hubička Jan, doc. Mgr., Ph.D. (28.02.2018)
Syllabus -
  • Introduction to existing open source compilers (GCC, LLVM, Open64, etc.)
  • Representing program in the intermediate language
  • Control Flow Graph
  • SSA form
  • Basic optimizations using SSA form (constant propagation, global value numbering, etc.)
  • Alias Analysis and optimizing memory accesses
  • Loop detection and optimization
  • Optimizing for memory hiearchy
  • Interprocedural optimization (linktime optimization, inlining, constant propagation, etc.)
  • Profile directed optimization, dynamic optimization

Last update: G_I (06.06.2008)
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html