It translates Common Intermediate Language to bare metal machine code.
IL2CPU is the primary compilation component of the Cosmos Project, and is developed by the same team.
As of 2022[update], it is planned to be superseded by .NET's native ahead-of-time (AOT) compiler, NativeAOT, however it is still in active development.
IL2CPU is a console program invoked by the Cosmos build process.
It takes in a dynamic link library (DLL) file, systematically scans its opcodes and outputs x86 instructions to be consumed by one of Cosmos's output methods, e.g. to create an ISO disk image file or to be booted over the network via PXE.