LLVM is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations.

LLVMプロジェクトは6日(米国時間)、LLVMの最新版となるLLVM 2.8を公開した。LLVM 2.8は6ヶ月にわたる開発の成果物。新機能の追加が実施されているほか、Clang C++が大幅に強化され、またプロジェクト的にも大きな改善が実施されたバージョンになっている。LLVM 2.8におけるおもな新機能は次のとおり。

  • 新しいシステムアセンブラ。現在サポートしているのはELFとCOFFのMachOターゲット
  • コンパイラからの.oファイルのダイレクト書き込みをサポート
  • ARMディスアセンブラ
  • ARMテールコールサポート
  • ARMコード生成部分の大幅な改善
  • デバッグ最適化コードのよりよいサポート
  • x87浮動小数点に対する優れたパフォーマンス

LLVM 2.8には含まれてはいないものの、このリリースに合わせて新しい次の2つのプロジェクトがLLVMプロジェクトに参加したことも紹介されている。

  • libc++ - 高性能およびC++'0xサポートを実現するために設計されたC++標準ライブラリ。Clang C++で利用することを想定しているものの、ほかのソフトウェアからも利用できるように移植性にも考慮している。
  • LLDB - LLVMおよびClang向けの新しいモジュラーデバッガインフラストラクチャ。大規模アプリケーションで高い性能を発揮することを目的にしている。

LLVMはコンパイル時、リンク時、実行時、インストール後などのシーンで効率のいい最適化を提供するコンパイラインフラストラクチャ。LLVM ClangはLLVMフロントエンドのひとつでC、C++、Objective Cに対応。ARMなど組み込み関連機能も開発が進んでいる。LLVMはAppleがサポートしているほか、GCCからLLVMへと移行するOSSプロジェクトが増えている。