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.