Advanced Compiler Construction (6p)FDA001, 2004VT
|
|
Course plan
Lectures
Ca. 40 h lectures in three 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/2002. The course is given in even years 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++ for the ORC labs.
Some background in combinatorial optimization may be useful.
Contents
Introduction: Processor architectures, code generation, intermediate
representations, tools.
Foundations, e.g., control and data dependence, data flow analysis.
Interprocedural analysis.
Overview of optimizations.
SSA and its construction.
SSA based optimizations.
Memory SSA.
Chi functions in lazy memory SSA based analysis. Firm.
Compiler generators.
Generating semantics modules from Natural Semantics using RML.
Automatically generating code generators with RML. Some examples.
Interprocedural optimization.
Code selection. Instruction scheduling. Register allocation.
Mutation scheduling.
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.
Organization
3 intensive weeks with 2 x 2h lectures per day.
Lessons (assistant-guided repetition + problem solving sessions).
Possibly shared lab sessions (ORC labs).
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),
Uwe Assmann,
Welf Löwe,
Peter Fritzson
Examiner
Christoph Kessler,
Uwe Assmann,
Welf Löwe,
Peter Fritzson
Examination
UPG1: Written homework exercise on RML (Peter F) 1p
LAB1: ORC labs 1p
TEN1: Written or oral examination 3p
PRE1: Presentation, written summary, opposition 1p
Credit
6 credits.
Organized by
CUGS
Comments
CUGS advanced course.
Location
Linköping
Page responsible: Anne Moe