Hide menu

Advanced Compiler Construction

2014HT

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 2 intensive weeks, prel. weeks 36 and 37/2014.
Additionally some lessons and lab sessions.
Presentation of a technical paper.

Recommended for

Ph.D. students or practitioners in computer science or systems engineering.

The course was last given

vt1/2012. 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, and compilation techniques for embedded and parallel systems.

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. Abstract interpretation.
Overview of optimizations.
SSA form and its construction.
SSA based optimizations.
Memory SSA.
Chi functions in lazy memory SSA based analysis.
Points-to analysis.
Compiler generators.
Code selection. Instruction scheduling. Register allocation. Integrated code generation.
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.
Autotuning.
Worst-case execution time analysis.
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 the LLVM open-source compiler framework.
One-day session 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

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.

Credit

9 hp

Organized by

CUGS

Comments

CUGS advanced course.

Location

Linköping.
See the course homepage for details.


Page responsible: Director of Graduate Studies