Advanced Compiler Construction2018HT
Ca. 30 h lectures in 2 intensive weeks, prel. in september 2018.
Additionally some lessons and lab sessions.
Presentation of a technical paper.
Ph.D. students or practitioners in computer science and computer engineering.
The course was last given
ht1/2014. The course is usually given every second year only.
Give knowledge about advanced compiler technology, including program analysis, intermediate representations, compiler optimizations, code generation, compiler frameworks, run-time systems, and compilation techniques for embedded and parallel systems. Get hands-on insights into the internals of a modern compiler framework.
Basic course in compiler construction, corresponding to the undergraduate
courses Compilers and Interpreters, or Compiler Construction.
Basic course in data structures and algorithms.
Basic knowledge in processor architecture.
Programming in C++/Linux for the Compiler framework labs.
Some background in combinatorial optimization may be useful.
Introduction: Processor architectures, code generation, intermediate
Foundations, e.g., control and data flow analysis, data dependence analysis. Abstract interpretation.
Overview of optimizations.
SSA form and its construction.
SSA based optimizations.
Chi functions in lazy memory SSA based analysis.
Code selection. Instruction scheduling. Register allocation. Integrated code generation.
Data dependence analysis. Loop transformations.
Automatic loop vectorization and parallelization.
Memory hierarchy optimization.
Special code generation problems for irregular architectures, DSPs.
Compiling for parallel systems.
Autotuning and feedback-directed optimizations.
Other topics as time permits.
2 intensive weeks of lecturing, including some lessons
(assistant-guided repetition + problem solving sessions).
Optional lab series with the LLVM open-source compiler framework.
One-day session for student presentations at the end of the course.
To be announced on the
course home page.
Christoph Kessler (course leader),
LAB2: Compiler framework labs 3 hp
TEN1: Written or oral exam 4.5 hp
PRE1: Presentation, written summary, opposition 1.5 hp
The exam must be passed to get any credits on the course, while lab and presentation are optional moments.
Physical presence in at least 50% of the lectures and lessons is required in order to be admitted to the exam.
CUGS advanced course.
See the course homepage for details.
Page responsible: Director of Graduate Studies
Last updated: 2012-05-03