TC-S Goals

Things to learn during this stage that you should remember:

Graph Handling, using the Boost Graph Library

We use the Boost Graph Library to implement graphs in the Tiger Compiler. You must be able to manipulate Boost Graphs, and understand some aspects of their design.

Static Single Assignment

The main goal of this stage is to translate an LIR program into SSA form. Once in this form, you are able to apply various optimizations and translate back to LIR form for further processing.

You are expected to understand its purpose and why it facilitates program optimization.

Optimization Techniques

This version of Tiger Compiler only implements Dead Code Elimination, but many other exist. You can check out the book (Modern Compiler Implementation) as it gives a list of many other optimization techniques and their implementation.