LLVM
12-22-2025
LLVM is an open-source collection of modular compiler technologies and toolchains meant to standardize compilation across languages. Compilers like GCC have been criticized for being too monolithic in the sense that the three phases of compilationNamely the Frontend, Optimizer, and Backend are too tightly coupled and thus a change to one meant having to modify all three.
LLVM presents a modern solution to this, modularizing each step, ensuring compatibility across languages and allowing for easier, less cluttered development. LLVM has three distinct stages
- Parse the program (C/C++, Rust, etc.) and convert it into a universal standardized language: LLVM Intermediate Representation
- Run multiple LLVM Passes on the IR during the optimizer step
- Translate optimized IR into architecture specific machine code.