LLVM
昔はLow-Level Virtual Machineの略
今は何の略でもないらしい
コンパイラ基盤
Rust、Swiftが採用例?
コンパイル時、リンク時、実行時などあらゆる時点でプログラムを最適化するよう設計された、任意のプログラミング言語に対応可能なコンパイラ基盤
再利用可能なコンパイラとツールチェーン技術の集まり
フロントエンド
いろいろな言語のフロントエンドがある
コンパイラバックエンドは中間表現(IR)をネイティブコード(機械語)に変換する 共通オプティマイザ(Common Optimizer)
バックエンド
共通オプティマイザから吐かれた中間表現をネイティブコードに変換する
確認用
Q. LLVM
Q. コンパイラバックエンド
Q. フロントエンド
Q. バックエンド
参考