October 24, 2003

LLVM 1.0 released

Chris Lattner released LLVMLow Level Virtual Machine — a compiler infrastructure reused by Clang, Rust, Swift, and many language toolchains. 1.0 on October 24, 2003 — an open compiler infrastructure with a reusable intermediate representation.

What it was for

Chris LattnerLLVMLow Level Virtual Machine — a compiler infrastructure reused by Clang, Rust, Swift, and many language toolchains. separates compilation into front ends (ClangLLVM's C, C++, and Objective-C compiler front end — fast diagnostics and an embeddable parser for tools., RustA systems language emphasizing memory safety without garbage collection — fast adoption in infrastructure.), a portable IR, and back ends targeting x86Intel's dominant CPU architecture family — the instruction set behind most PCs and servers for decades., ARMA CPU architecture family known for energy efficiency — dominates smartphones and growing in servers and laptops., and more. Optimizations run on IR at compile, link, or even runtime. SwiftApple's language for iOS, macOS, and server apps — designed for safety and performance., RustA systems language emphasizing memory safety without garbage collection — fast adoption in infrastructure., Julia, and XcodeApple's integrated development environment for iOS, macOS, watchOS, and visionOS applications. all build on LLVMLow Level Virtual Machine — a compiler infrastructure reused by Clang, Rust, Swift, and many language toolchains. — teams add languages without rewriting code generation.

Why it's here

LLVMLow Level Virtual Machine — a compiler infrastructure reused by Clang, Rust, Swift, and many language toolchains. turned compilers into reusable libraries instead of monolithic GCCGNU Compiler Collection — the dominant open-source compiler toolchain for C, C++, and other languages. forks.

Why it mattered

Its IR became the foundation for ClangLLVM's C, C++, and Objective-C compiler front end — fast diagnostics and an embeddable parser for tools., SwiftApple's language for iOS, macOS, and server apps — designed for safety and performance., RustA systems language emphasizing memory safety without garbage collection — fast adoption in infrastructure., and modern language tooling.

What it solved

Each new language or target meant forking a whole compiler; researchers needed modular optimization.

Media

  • Chris Lattner
    ImageChris Lattner

    Waldyrious, CC BY-SA 4.0, via Wikimedia Commons

Related