The scenario
A developer wants to understand the main phases of rustc, especially the role of HIR and MIR before LLVM code generation.
What is in this drawing
Read the decisions behind it.
01
Separate HIR and MIR phases
02
Run borrow checking on MIR rather than HIR
03
Lower to LLVM IR for backend code generation
Use when documenting language compiler internals, explaining Rust-specific intermediate representations, or planning compiler tooling that hooks into HIR or MIR passes.
More like this