LLVM is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations. |
LLVMプロジェクトは2月27日(米国時間)、「LLVM Project Blog: LLVM 3.6 Release」においてLLVMの最新版となる「LLVM 3.6」を公開したと伝えた。LLVMはさまざまなプログラミング言語に対応したコンパイラ・インフラストラクチャ。コンパイル時間の短さ、生成されるバイナリの質の高さ、生成されるバイナリサイズの小ささ、出力されるエラーメッセージのわかりやすさなどから開発者に人気があり、LLVMをメインのコンパイラとして採用するプロジェクトやベンダが増えている。
LLVM 3.6における主な注目点は次のとおり。
- 中間表現の記述方法を各種変更
- 古いJIT実装を削除
- AuroraUXのサポートを廃止
- オブジェクトファイルにおける中間表現の組み込みをサポート
- ゴールドプラグインの再実装
- -std-compile-optsの削除(-O3のエイリアスとして導入されていたオプション)
- comdatsのシンタックス変更
- Win64 unwind情報のサポート追加
- PreserveSourceリンカモードの削除
LLVM 3.6ではLinuxカーネルのビルドも可能になっている。ビルドするにはLinuxカーネル側に多少のパッチを当てる必要があるが、これを受けて、今後デフォルトのコンパイラをGCCからLLVM Clangへ変更するベンダやディストリビューションが現れると見られる。