Awesome
LLILC Is Now Archived
LLILC was an experimental project to build a .NET compatible JIT from LLVM. It is no longer under active development.
For questions or concerns please open an issue on https://github.com/dotnet/core.
Welcome to LLILC
Build Status
Windows | Linux | |
---|---|---|
Debug | ||
Release |
Introduction
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:
- latest LLVM version and apply this patch or take the known working version from Microsoft/llvm/CoreRT_ObjectWriter branch;
- llilc/ObjectWriter branch;
libcoredistools: CoreCLR has a ongoing dependency on libcoredistools which is built out of this repo and placed into build/lib/libcoredistools.dylib|so|dll. To build coredistools follow the default workflow for building llilc/llvm on the master branch.
Supported Platforms
Our initial supported platform is Windows, but Linux and Mac OS X support are under development.
Contributions
Please see our issues or the contributing document for how to pitch in.