LLVM
LLVM is a modular programming infrastructure project that provides reusable components for building compilers and language tools. Originally standing for "Low Level Virtual Machine," LLVM has evolved into a versatile collection of libraries and utilities that sit between high-level source code and machine-specific code generation.
At its core, LLVM defines an intermediate representation (IR)—a neutral, machine-independent format that allows developers to write frontends for different programming languages and backends for different hardware targets. This separation of concerns has made LLVM foundational to modern language design and open source compiler development.
The project powers numerous production systems: Apple's Clang compiler, Rust's compiler backend, and tools like LLDB (debugger) and Polly (loop optimizer). Its architecture enables rapid prototyping of new languages while maintaining high-quality optimizations and code generation.
LLVM's flexible design has also spawned applications beyond traditional compilation—including JIT compilation, static analysis, and binary transformation. Its permissive licensing and academic-industrial collaboration have made it a cornerstone of contemporary software development.
Related
Compiler design, Rust, C++, Optimization (computer science), Open Source, Backend (software)