TC-L Goals
Things to learn during this stage:
- Smart pointers
Usage of
std::unique_ptr
.- Move semantics
How move semantics make
std::unique_ptr
a powerful tool.- Basic blocks
Why we need them, and how LLVM uses them in control-flow handling.
- Inner functions and their impact on memory management at runtime
Reaching non local variables.
- Properties of LLVM IR
SSA
Type safe
Target independent
- The LLVM compiler infrastructure
LLVM IR
The optimizer,
opt
opt
takes LLVM IR and applies optimization passes on it. This allows you to select several optimization passes to apply on the LLVM IR and observe the resulting LLVM IR.The LLVM Core libraries
The LLVM Tools:
llvm-as
,llvm-dis
,llvm-link
, etc.
- Using an external runtime
Using a C runtime interacting with the Tiger code.