LLILC — альтернативний компілятор C# від компанії Microsoft, заснований на напрацюваннях проекту LLVM, що працює в поєднанні з .NET Core Runtime (CoreCLR) і призначений для складання .NET-застосунків на мові C#. Початковий код компілятора написаний на мові С ++ і поширюється під ліцензією MIT.
Використання LLVM дає можливість застосовувати компілятор для будь підтримуваної у LLVM платформи, завдяки трансляції байт-коду MSIL у платформо-незалежний формат LLVM.
Навесні 2015, на час випуску компілятора, надана можливість застосування LLILC як JIT-компілятор, альтернативний штатним CoreCLR JIT. JIT на базі LLILC дозволяє без створення окремих складань організувати запуск будь-яких C#-програм, що використовують класи .NET Core, на всіх платформах, для яких портований runtime CoreCLR. Повноцінна робота поки можлива тільки у Windows, а підтримка Linux і OS X перебуває на початковій стадії. У майбутньому очікується поява підтримки класичної AOT-компіляції (Ahead-of-time), яка дозволить як генерувати звичайні виконувані файли, так і забезпечувати упереджувальне складання на початковій стадії запуску програми. Розробники LLILC, крім того, мають намір зайнятися роботою з поліпшення підтримки мови C# в основній кодовій базі LLVM. Зокрема, у LLVM планується зайнятися реалізацією специфічних для C# оптимізацій, модернізувати збирач сміття і поліпшити обробку винятків.
Примітки
Посилання Офіційна сторінка LLILC на github Компания Microsoft опубликовала LLILC, основанный на LLVM компилятор для .NET