Advanced Compiler Construction (9hp)DF00100, 2010VT
|
|
Course plan
Lectures
Ca. 32 h lectures in 2-3 intensive weeks.
Additionally some lessons and lab sessions.
Recommended for
Ph.D. students or practitioners in computer science or systems engineering.
The course was last given
vt1/2008. The course is usually given every second year only.
Goals
Give Ph.D. students or practitioners knowledge about advanced compiler
technology, including program analysis, intermediate representations, compiler
optimizations,
code generation, compiler frameworks, run-time systems, compilation techniques
for embedded systems, and compiler
generation tools for code generation from natural semantics specifications.
Prerequisites
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.
Contents
Introduction: Processor architectures, code generation, intermediate
representations, tools.
Foundations, e.g., control and data flow analysis, data dependence analysis.
Interprocedural analysis.
Overview of optimizations.
SSA form and its construction.
SSA based optimizations.
Memory SSA.
Chi functions in lazy memory SSA based analysis.
Compiler generators.
Interprocedural optimization.
Code selection. Instruction scheduling. Register allocation.
Mutation scheduling.
Data dependence analysis. Loop transformations.
Automatic loop vectorization and parallelization.
Software pipelining.
Memory hierarchy optimization.
Special code generation problems for irregular architectures, DSPs.
Compiling for multicore processors.
Other topics, e.g., code motion, binary translation, garbage collection, as
time permits.
Organization
2 intensive weeks of lecturing, including some lessons
(assistant-guided repetition + problem solving sessions).
Optional lab series with some open-source compiler framework.
Several extra sessions for student presentations
at the end of the course.
Literature
To be announced on the
course home page.
Lecturers
Christoph Kessler (course leader),
Welf Löwe
Examiner
Christoph Kessler,
Welf Löwe
Examination
LAB2: Compiler framework labs 3 hp
TEN1: Written or oral exam 4.5 hp
PRE1: Presentation, written summary, opposition 1.5 hp
Credit
9 hp (= 6 gp)
Organized by
CUGS
Comments
CUGS advanced course.
Location
Linköping, usually in february / early march (e.g. weeks 7 and 8).
See the course homepage for the preliminary dates.
Page responsible: Director of Graduate Studies