TC-L, LLVM IRΒΆ
2023-TC-L submission is Sunday, April 4th 2021 at 11:42.
This section has been updated for EPITA- 2023 on 2021-10-06.
At the end of this stage, the compiler procudes 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-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
forloops and comparison between strings.