Draft:LLVM-MOS

LLVM-MOS is an open-source fork of the LLVM project, targeting the MOS 6502 microprocessor and similar processors.

An open-source fork of LLVM that provides first-class support to the MOS 6502 and near compatibles. Our compiler implements multiple novel approaches in order to optimize 6502 code size and speed, and it tends to outperform legacy 6502 compilers. Our compiler includes, but is not limited to: broad C99 and C++11 freestanding compatibility built-in IEEE-754 floating point support first-class integrated 65xx assembler support clang's world-class error messages An open-source software development kit (SDK) that comprises target-specific code for common 65xx-based microcomputers. It includes a minimal C standard library with support for memory management and text output. Some example programs are included. We currently support over two dozen targets, including a host-based simulator. The list of supported targets is growing rapidly. Complete ELF support for the 6502 series, which permits us to use the existing suite of LLVM tools for creating, analyzing and modifying 6502 object files and libraries. An open-source automated test and packaging infrastructure. We use Github runners to verify builds of our compiler against appropriate LLVM test suites, as well as our own smoke tests. We also run automated benchmarks using this infrastructure.