Charles Explorer logo
🇬🇧

Compiler Design

Class at Faculty of Mathematics and Physics |
NSWI109

Syllabus

Back-end architecture.

High-, medium-, and low-level intermediate representation.

Routines, basic blocks, control-flow, data-flow.

Sequential, semi-sequential, and non-sequential intermediate code, SSA.

Variable live-range, detection algorithm.

Register allocation by graph coloring.

Instruction selection.

Scheduling, list scheduling, trace scheduling.

Software pipelining, modulo scheduling.

Vectorization.

Overview of other optimization methods.

Annotation

Compiler back-ends. Architecture, intermediate representation, basic algorithms of code generation and optimization.

Modern processor features. Interaction between the programmer and the compiler in code optimization.