Skip to content
This repository has been archived by the owner on Mar 15, 2022. It is now read-only.

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.

License

dotnet/llilc

Repository files navigation

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

Join the chat at https://gitter.im/dotnet/llilc

Build Status

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

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:

  1. latest LLVM version and apply this patch or take the known working version from Microsoft/llvm/CoreRT_ObjectWriter branch;
  2. 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.

About

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.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published