「LLVM 10.0.0」リリース

 The LLVM Projectは3月24日、コンパイラおよび関連ツールチェーン集の最新版「LLVM 10.0.0」リリースを発表した。

 LLVMはコンパイラと、リンカやアーカイバなどのツールチェーン技術を集めたソフトウェア開発ツールセット。再利用可能なモジュラー形式で構築されており、主要なCPU向けコード生成をサポートする。ソースやターゲットに依存しないオプティマイザを提供するLLVM Coreライブラリ、LLVMネイティブのC/C++/Objective-CコンパイラのClangなど多数のサブプロジェクトを抱える。

 LLVM 10.0は、2019年9月に公開したLLVM 9系からのメジャーリリースとなる。ClangではC++2a Conceptsをサポートした。また、今まではサブプロセス(clang -cc1)でコンパイルを実行していたが、デフォルトでインプロセスでこれを実行するようになった。

 LLVMでは、Windows Control Flow Guard(CFG)をサポートし、「-cfguard」オプションで間接的な関数呼び出しのCFGチェックを出すようになった。オプティマイズを有効時に使う機能としており、これまでの振る舞いに戻したいときは「-cfguard-nocheck」オプションで切り替えられる。

 また、BasicBlockPass、BBPassManagerが削除され、WindowsではLLVM_BUILD_LLVM_DYLIBとLLVM_LINK_LLVM_DYLIB CMakeの両オプションが使えなくなった。

 このほか、多数の細かな機能が加わっている。

LLVM
https://llvm.org/