Why Do We Need a New Foundation?
Today's programming world stands on the shoulders of two giants: GNU and LLVM. Yet both projects were born in past decades, and their foundations carry the weight of decades of backward compatibility and accumulated complexity. Modern processors — with AVX-512, SVE2, AMX, and RISC-V Vector — demand tools that embrace them in a contemporary, clean, and innovation-friendly way.
LLInfra is an open-source project aimed at building this foundation from the ground up: multi-architecture assemblers, a linker, a compiler, and an operating system kernel — all written in C++20/23, and all designed to harness the latest 64-bit processors.
What Are We Building?
The project unfolds across six integrated stages:
1. Shared Core Infrastructure
\nA common foundation for memory management, diagnostics, and file formats. It includes a fast allocator (Arena), an advanced diagnostic engine, and an ELF64/DWARF5 writer.
2. Multi-Architecture Assembler
\nThe beating heart of the project. An assembler supporting x86-64 (with AVX-512, AMX, and APX), ARM64 (with SVE2, SME, and MTE), and RISC-V 64 (with Vector and Bit-Manipulation extensions). It includes an advanced macro processor, DWARF5 support, and linker relaxation.
3. Linker
\nA lightweight linker that binds object files into executables or shared libraries, with support for linker scripts and garbage collection of unused sections.
4. Minimal Runtime
\nA lightweight libc alternative: allocator, system call wrappers, string and stdio functions — all running without glibc.
5. Compiler
\nA C compiler with an independent backend built on an SSA-based IR and an optimizer featuring Constant Folding, Dead Code Elimination, and Register Allocation.
6. OS Kernel
\nA minimal kernel capable of running on bare metal, managing memory, scheduling tasks, and handling interrupts across all three architectures.
What Sets LLInfra Apart?
| Feature | Details |
|---|---|
| Modernity | Full support for the latest processor extensions (2024–2026) |
| Simplicity | Clean design without decades of backward-compatibility baggage |
| Performance | C++20/23 with compiler-optimized data structures |
| Completeness | Assembler + Linker + Compiler + Kernel in one unified system |
| Open Source | Available for the community to study, develop, and contribute |
What Is the Ultimate Goal?
We do not seek to replace LLVM or GNU tomorrow. We seek to build an alternative that can be understood, studied, and evolved — a tool that is at once educational and commercially viable. Our goal is for LLInfra to become a platform where researchers can test their ideas, developers can build their tools on top of it, and enthusiasts can truly understand how low-level systems work.
We believe that building fundamental tools should not be the monopoly of corporations or decades-old projects. It should be open, modern, and comprehensible.
How Can You Contribute?
At this stage, the project is being built exclusively by its core members. We are not accepting external contributions during the initial foundation phase, as the base architecture requires focused, unified design decisions.
In later stages, we will announce how to contribute to the project — whether through volunteering or professional positions. Stay tuned for updates.
The journey is long, but every journey begins with a single step.
LLInfra — Building what lies beneath.