LLVM is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations. |
LLVMプロジェクトは9月1日(米国時間)、「LLVM Project Blog: LLVM 3.7 Release」において、LLVMコンパイラ・インフラストラクチャの最新版となる「LLVM 3.7.0」の公開を伝えた。6カ月に及ぶ開発の成果物とされており、ダウンロードページ経由で取得可能。
「LLVM 3.7.0」の主な注目ポイントは次のとおり。
- OpenMP 3.1のフルサポート(OpenMP 4.0の一部の機能もサポート)
- 新しいC++向けのJIT APIであるORC(On Request Compilation)の導入
- セキュリティ機能を強化することにつながる新しい機能Controll Flow Integrityの導入
- 最適化機能の向上
- Windowsターゲットにおける__try、__except、__finallyコンストラクトのサポート
ORCはMCJITに着想を得て設計された新しいJIT API。従来のMCJITはそのままデフォルトのJIT実行エンジンとして使われるものの、LLVMプロジェクトでは新しいユーザに対してはORCを試してほしいと説明している。
LLVMコンパイラ・インフラストラクチャはさまざまなプロジェクトやプロダクトでデフォルトのコンパイラとしての採用が進んでいる。C/C++以外にも多くのプログラミング言語のバックエンドとして使用されており、活用の場を広げている。