TC-L, LLVM IR

2026-ing-TC-L submission is Saturday, April 13th 2024 at 21:42.

At the end of this stage, the compiler produces LLVM IR code. This stage produces an intermediate representation like TC-5, Translating to the High Level Intermediate Representation.

To understand more about this stage you can checkout LLVM.

The dependency for this stage is Clang, A C language family front end for LLVM. You can install it either of a part of the llvm-dev package, or by visiting LLVM Download Page.

This stage makes use of multiple previous stages:

TC-E, Computing the Escaping Variables

The escape visitor is used to link each variable with its definition site. This will be needed for lambda lifting.

TC-R, Unique Identifiers

All the identifiers have to be unique, in order to translate them to LLVM identifiers (for debug purposes).

TC-D, Removing the syntactic sugar from the Abstract Syntax Tree

The desugar visitor is used to translate for loops and comparison between strings.