Anatomy of a compiler
- front-end: parse text into AST, generate HIR
- middle-end: MIR, opt/analysis
- back-end: literally just LLVM
Mid-level Intermediate Representation - mid-level refers to the
stage of the compiler. MIR is the desugaring of complex code into simpler code.
By having simpler code, optimizers will only have to deal with a part of the
language, becoming more efficient at their job. Tl;Dr: desugar complex code
into simpler code which is easier to optimize.