LLVM Projectは21日(米国時間)、最新バージョン「LLVM 2.6」のプレリリース2版のテストを完了し、23日より正式リリースを提供すると発表した。LLVM (Low Level Virtual Machine)はGCC (GNU Compiler Collection)などのコンパイラツールセットの一部として機能するものだが、最近では特にMac OS X 10.6 "Snow Lecopard"に搭載されて話題となった新機能「Grand Central Dispatch (GCD)」をアプリケーション側から呼び出すためのツールセットとして必要になることが知られている。
LLVMは米イリノイ大学アーバナシャンペン校(University of Illinois at Urbana-Champaign)において2000年からスタートしたプロジェクトで、コンパイラの処理をよりダイナミックで最適な形で動作させることを目標としている。コンパイラの役割を2つに分け、中間コードのような形態に変換する機能をフロントエンドとすれば、こうして生成されたデータから特定マシン上での動作に不必要なデータをダイナミックに除外したり、動作環境に合わせてコードの調整を行うなど、バックエンドで最適化を行うのがLLVMの役割となる。もともとはC/C++用に開発されたものだが、現在のLLVMはプログラミング言語非依存となっており、PythonやRuby、あるいはAdobe Flashで使用されているActionScriptといったスクリプト言語もフロントエンドとして利用できる。LLVMではGCCが行うような静的コンパイラとしてバイナリを生成できるほか、JavaのようにJIT (Just-In-Time)コンパイラのような形式で中間言語のままダイナミック実行させることも可能。
LLVMはGNUベースのGCCとは異なり、GPLではなく「University of Illinois/NCSA Open Source License」というライセンスでオープンソース化されている。NCSA (National Center for Supercomputing Applications)はイリノイ大学アーバナシャンペン校の一部門だが、このNCSAという名称はあの世界初のビジュアルWebブラウザ「NCSA Mosaic」でその存在がよく知られている。また、このLLVMプロジェクトの中心人物の1人であるChris Lattner氏を2005年に米Appleが雇い入れており、同社の開発環境をLLVMを使って刷新したことが知られている。現在、AppleがMac OS Xのコンパイラ環境として、フロントエンドにClang、バックエンドにLLVMをプッシュしているのはこうした背景がある。
LLVM 2.6での新機能だが、対応プラットフォームの拡大のほか、マルチスレッド環境での動作でコードをより最適化できるよう改良が加えられている点が特徴となる。アップデートの詳細については、LLVMのリリースノートで確認できる。