Advanced Compiler Construction (6p)FDA001, 2007VT
Ca. 32 h lectures in 2-3 intensive weeks.
Additionally some lessons and lab sessions.
Ph.D. students or practitioners in computer science or systems engineering.
The course was last given
vt1/2004. The course is given every second year only.
Give Ph.D. students or practitioners knowledge about advanced compiler
technology, including program analysis, intermediate representations, compiler
code generation, compiler frameworks, run-time systems, compilation techniques for embedded systems, and compiler
generation tools for code generation from natural semantics specifications.
Basic course in compiler construction, corresponding to the undergraduate
courses Compilers and Interpreters, or
Basic course in data structures and algorithms.
Basic knowledge in processor architecture.
Programming in C++/Java 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 dependence, data flow analysis. Interprocedural analysis.
Overview of optimizations.
SSA and its construction.
SSA based optimizations.
Chi functions in lazy memory SSA based analysis. Firm.
Generating semantics modules from Natural Semantics using RML.
Automatically generating code generators with RML. Some examples.
Code selection. Instruction scheduling. Register allocation.
Data dependence analysis. Loop transformations.
Loop parallelization. Software pipelining.
Memory hierarchy optimization.
Special code generation problems for irregular architectures, DSPs.
Other topics, e.g., code motion, binary translation, garbage collection, as time permits.
2 intensive weeks of lecturing, including some lessons
(assistant-guided repetition + problem solving sessions).
Possibly shared lab sessions with some open-source compiler framework.
Several extra sessions for student presentations
at the end of the course.
To be announced on the
course home page.
Christoph Kessler (course leader),
UPG1: Written homework exercise on RML (Peter F) 1p
LAB1: Compiler framework labs 1p
TEN1: Written or oral examination 3p
PRE1: Presentation, written summary, opposition 1p
CUGS advanced course.
OBS: We expect that only one of the two announced courses FDA001 (this course) and FDA125 (Advanced Parallel Programming) can be given, due to a limited number of PhD students. Hence, unless you are interested in only one of these courses, we recommend you to sign up for both of them, as one of them will most probably be cancelled anyway.
Linköping, usually in february / early march.
Page responsible: Director of Graduate Studies
Last updated: 2012-05-03