MIR
mid-level IR
Rust
の2段階目の
IR (中間表現)
1段階目は
HIR
high-level IR
3段階目は
LIR (low-level IR)
LLVM
https://blog.rust-lang.org/images/2016-04-MIR/flow.svg https://blog.rust-lang.org/2016/04/19/MIR.html
なんで導入されたか
もともとは
HIR
のみだった
嬉しいこと
コンパイル時間の高速化
変更があったときは必要な箇所のみを再コンパイルする
最適化によって実行処理速度も高速化
https://medium.com/@11Takanori/rustコンパイラの処理の流れ-1-23ae7429ec10
https://blog.rust-lang.org/2016/04/19/MIR.html
https://rust-lang.github.io/compiler-team/working-groups/mir-opt/
https://www.reddit.com/r/rust/comments/8d9i32/hir_vs_mir_vs_lir/
https://toyamaguchi.hatenablog.com/entry/2019/12/22/080000