Fortranフロントエンドが加わった「LLVM 11.0.0」が公開

 LLVM開発チームは10月12日、コンパイラおよび関連ツールチェーン集の最新版「LLVM 11.0.0」公開を発表した。FortranフロントエンドのFlangが加わるなどの機能強化が加わった。

 LLVMはモジュラー型で再利用可能なコンパイラとツールチェーン技術プロジェクト。イリノイ大学の研究プロジェクトとしてスタートした経緯をもち、任意のプログラミング言語の静的/動的コンパイルをサポートする。ソースやターゲットに依存しないオプティマイザを提供するLLVM Coreライブラリ、LLVMネイティブのC/C++/Objective-CコンパイラのClangなど多数のサブプロジェクトを抱え、Apache License 2の下で公開されている。

 LLVM 11は3月に公開されたバージョン10に続く最新のメジャーリリース。LLVMは6ヶ月おきのリリースサイクルを敷いており、それに沿ったものとなる。

 ハイライトは、Flang Fortranフロントエンドが加わったこと。Flangは、LLVMおよびLLVMオプティマイザとの統合のために設計されたFortran言語フロントエンドで、Clang C++との相互運用性もある。Fortran言語のサブセットをパーシングしてチェックするが、まだLLVM IR(中間言語)を生成することはできないため、バイナリのコンパイルはできない。なお、Windowsではサポートされていない。

 この他、LLVM IR、JITインフラ、各種バックエンドなどで強化が加わった。プロジェクトはPython 3へのマイグレーションを進めており、ビルドシステムはPython 3のインタープリタがある場合はPython 3を優先する。

 Clangでは、C言語のデフォルトがgnu 11(C 11)からgnu 17(C 17)となった(-std=が設定されていない場合)。またGNU C拡張のasm inlineもサポートした(だが、パーシングは行わない)。これらに加え、各サブプロジェクトで多数の機能が加わっている。

The LLVM Compiler Infrastructure
https://llvm.org