This repo contains LLILC, an LLVM based compiler for .NET Core. It includes a set of cross-platform .NET code generation tools that enables compilation of MSIL byte code to LLVM supported platforms.
C++ C Python PowerShell CMake Groovy Batchfile
Switch branches/tags
Nothing to show
Clone or download

Welcome to LLILC

Join the chat at

Build Status

Windows Linux
Debug Build status Build Status
Release Build status Build Status


LLILC is an LLVM based MSIL Compiler - we pronounce it 'lilac' - with a goal of producing a set of cross-platform .NET code generation tools. Today LLILC is being developed against dotnet/CoreCLR for use as a JIT, as well as an cross platform platform object emitter and disassembler that is used by CoreRT as well as other dotnet utilites.

See the documentation for more information. It has a more complete discussion of our background and goals as well as "getting started" details and developer information.

ObjectWriter for CoreRT: CoreRT project uses ObjectWriter that lives in its own branch in this repo, if you want to build it then follow instructions from getting started, but use the following branches:

  1. latest LLVM version and apply this patch or take the known working version from Microsoft/llvm/CoreRT_ObjectWriter branch;
  2. llilc/ObjectWriter branch;

Supported Platforms

Our initial supported platform is Windows, but Linux and Mac OS X support are under development.


Please see our issues or the contributing document for how to pitch in.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact with any additional questions or comments.