Things to learn during this stage that you should remember:
How move semantics make
std::unique_ptr a powerful tool.
Why do we need them, and how LLVM uses them in control-flow handling.
Reaching non local variables.
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.
Using a C runtime interacting with the Tiger code.