Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Microsoft Introduces LLILC, LLVM-based .NET/CoreCLR Compiler

Microsoft Introduces LLILC, LLVM-based .NET/CoreCLR Compiler

This item in japanese

The .NET Foundation has announced the release of a new project called LLILC (pronounced "lilac"). The project, initially contributed by Microsoft, aims to provide a new LLVM-based native code compiler for .NET Core which will make it possible to run .NET programs "on any platform that CoreCLR can be ported to and that LLVM will target."

Microsoft's approach to LLVM-based code generation is based on an existing CIL reader that "operates directly against the same common JIT interface as the production's one (RyuJIT)." This approach was deemed preferable to starting from existing open-source projects that target LLVM BitCode, such as SharpLang and LLVMSharp, in order to better support the new CoreCLR interface.

LLILC currently focuses on providing a JIT compiler, which is though still a work in progress. On Windows, LLILC is currently able to compile half the tests included in CoreCLR, "then fall back to RyuJIT." As .NET Core maturity improves on Linux and OS X, LLILC's team plans to provide an LLILC implementation of similar quality to Windows' implementation for those platforms as well.

Next on LLILC's roadmap is an install-time JIT compiler, which should "allow the generated code to be shared across multiple invocations of an application or across multiple processes that share a set of assemblies." Finally, the LLILC project will also consider the implementation of an ahead-of-time compiler.

The .NET Foundation was launched by Microsoft at 2014 Build conference to act as an "umbrella for all of the parts of .NET Microsoft has already open sourced and will release under an open source license (most likely Apache 2.0) in the future."

Rate this Article