![]() |
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のリリースノートで確認できる。
![]() |
Snow Leopardの「Grand Central Dispatch」(GCD)、FreeBSD 8.1リリースで移植へ [2009/10/19] |
![]() |
Snow Leopardの「Grand Central Dispatch」(GCD)がオープンソース化 [2009/9/13] |
| ツラい朝は爆弾で起きる [17:27 5/24] |
| 【コラム】リンゴ印のライフハック 第8回 近ごろのMacで音楽を愉しむための"お約束" [15:50 5/24] |
| 東芝、USB 3.0対応の外付け型HDDのラインナップに1TB/3TBモデルを追加 [15:25 5/24] |
| ルックイースト、カードリーダー機能を搭載した2,600mAhモバイルバッテリ [14:22 5/24] |
| ASUS、オーバークロックツールが付属したGeForce GTX 780搭載カード [14:15 5/24] |
|
岡山大、中枢神経の「ランビエ絞輪」形成機構の解明に1歩前進 [17:35 5/24] 開発・SE |
|
細胞間接着を担うタンパク質「クローディン」に関する発見 - 阪大など [17:32 5/24] 開発・SE |
|
「魔法の天使 クリィミーマミ」のステッキ型リップクリーム発売 -バンダイ [17:30 5/24] ライフ |
|
パナソニック、LEDに匹敵する照明用高効率白色有機EL素子を開発 [17:29 5/24] 開発・SE |
|
ツラい朝は爆弾で起きる [17:27 5/24] パソコン |