Hide menu

Advanced Compiler Construction (6p)

FDA001, 2004VT

Status Archive
School National Graduate School in Computer Science (CUGS)
Division SAS
Owner Christoph Kessler
Homepage http://www.ida.liu.se/~chrke/courses/ACC/ACC.shtml

  Log in  




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: Director of Graduate Studies