LLVM
LLVM(エルエルヴィーエム、 またはエルエルブイエム)とは、コンパイル時、リンク時、実行時などあらゆる時点でプログラムを最適化するよう設計された、任意のプログラミング言語に対応可能なコンパイラ基盤である。
https://ja.wikipedia.org/wiki/LLVM
コンパイラ作成のための基盤
コンパイラを作るためのライブラリーやツールの集まり
VMには開発者目線でのメリットがいくつかあるが実行速度などのユーザー目線ではデメリットがある
LLVMはNativeコンパイラの作成にVMのメリットを持たせる
言語開発者が利点を得るには
ソース解析部分だけを作り、中間言語(LLVM IL)に変換する
LLVMは
中間コードに対して言語や環境から独立した最適化を行う
環境に合わせた実行ファイルを生成する
LLVMを使った言語
MacRuby, Rubinius
Clang
Apple製
Objective-Cコンパイラに利用して有名になった
D言語
Emscripten