To whom it may concern,
Today I release Kefir — an independent C17/C23 compiler. Solo-built. Extensively validated, for x86_64 & System-V ABI. With SSA-based optimization pipeline, DWARF-5 support and position-independent code generation.
What?
Implements the C17/C23 standard. Plus certain GNU C extensions.
For Linux (glibc & musl), FreeBSD, OpenBSD, NetBSD.
Extensive and transparent validation suite. Compiles and runs well-known open source projects — GNU core- and binutils, Curl, Git, Nginx, OCaml OpenSSL, OpenSSH, Perl, Postgresql, Tcl, Wget and many more. A large internal test suite, third-party suites and multiple bootstrap configurations.
No frameworks. From scratch parsing, compilation, optimization and code generation.
Full source-to-assembly translation, SSA-based IR, optimization passes. mem2reg, phi propagation, constant folding, simplification, loop-invariant code motion, global value numbering, dead code elimination, function inlining, tail-call optimization.
DWARF5 debug information. Position-independent code. AT&T and Intel syntaxes of GNU As. Limited support for Yasm.
Bit-identical bootstrap from host compiler. On all supported platforms.
Integrates with host toolchain (libc, assembler, linker).
GNU GPLv3 (only) for the compiler. BSD-3 clause for runtime includes.
Independent & solo. No external funding or institutional support.
Proofs?
Why?
I wanted to see whether it is possible to independently implement a modern C compiler. For real-world software.
It is. No further excuses and elaborations will be provided.
But I don't understand...
Full details here. If needed, copy-paste and discuss it with your LLM of choice.
Substantial inquiries will be answered personally
Anything else?
Dedicating this to Sloka & Kauguri.
So?
Details in README. Code on SourceHut. Myself is here.
You know what to do next.