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

LLVMプロジェクトは4月13日(米国時間)、「[LLVMdev] Announcing LLILC: An LLVM based compiler for dotnet CoreCLR.」において、.NET CoreCLR向けの新しいコンパイラを開発するプロジェクト「LLILCプロジェクト」を発表した。これは、Microsoftにおいて始まった取り組みで、LLVMをベース技術として採用し、.NET CoreCLR向けに開発されたソースコードをコンパイルしてMSILコードを生成するコンパイラを開発することを目指している。

先日オープンソース化された.NET Core関連のコードはすでにJITを持っているが、LLILCではLLVMベースの新しいJITの開発を進めている。これは、Microsoftにとって.NETの実行可能なプラットフォームを増やすという点で意味がある。LLVM関連のコードをベースに開発されたコンパイラは、LLVMが移植されているプラットフォームでコンパイルしたソフトウェアが動作するようになることを意味しており、MicrosoftはLLVMの後ろ盾を得てコードが実行できるプラットフォームの種類を大きく増やすことが可能になる。

LLVMをコンパイラ・インフラストラクチャとして活用し、プログラミング言語のコンパイラを開発する例は、今回に限らずさまざまなプロジェクトで取り組まれている。LLVMはすでにコンパイラ・インフラストラクチャとしての機能が整っているため、最小限の労力でそれなりに良質なバイナリを生成するコンパイラを開発できるという利点がある。