The LLVMCodegen is a code generator that translates the Machine IntermediateLanguage to LLVM assembly, which is further optimized and compiled to native object code by the LLVM toolchain.

It requires LLVM version 3.7 or greater to be installed.

In benchmarks performed on the AMD64 architecture, code size with this generator is usually slightly smaller than either the native or the C code generators. Compile time is worse than native, but slightly better than C. Run time is often better than either native or C.

Implementation

Details and Notes

The LLVMCodegen was initially developed by Brian Leibig (see An LLVM Back-end for MLton).