Live briefing
Everything about LLVM
Compiler backend for multiple programming languages
LLVM is a set of compiler and toolchain technologies that can be used to develop a frontend for any programming language and a backend for any instruction set architecture. LLVM is designed around a language-independent intermediate representation (IR) that serves as a portable, high-level assembly language that can be optimized with a variety of transformations over multiple passes. The name LLVM originally stood for Low Level Virtual Machine. However, the project has since expanded, and the name is no longer an acronym but an orphan initialism. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: LLVMA 5-minute orientation
- Skim a recent paper: Designing RISC-V Instruction Set Extensions for Artificial Neural Networks: An LLVM Compiler-Driven PerspectiveInfluential work since 2022
- Pick up a classic book: LLVM Code GenerationThe most-reprinted book on the subject
- Read the landmark paper: An empirical study of optimization bugs in GCC and LLVMCited 63 times
- Go sideways: Chris LattnerA closely related topic
- Go sideways: ClangA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
An empirical study of optimization bugs in GCC and LLVM
Formalizing the LLVM intermediate representation for verified program transformations
CTOS: Compiler Testing for Optimization Sequences of LLVM
Modular, compositional, and executable formal semantics for LLVM IR
Autotuning PolyBench benchmarks with LLVM Clang/Polly loop optimization pragmas using Bayesian optimization
LLVM-based and scalable MPEG-RVC decoder
Reconciling high-level optimizations and low-level code in LLVM
LLVM-drone: A synergistic framework integrating large language models and vision models for visual tasks in unmanned aerial vehicles
🆕 Influential since 2022
Designing RISC-V Instruction Set Extensions for Artificial Neural Networks: An LLVM Compiler-Driven Perspective
LocSeq: Automated Localization for Compiler Optimization Sequence Bugs of LLVM
A Two-Phase Infinite/Finite Low-Level Memory Model: Reconciling Integer–Pointer Casts, Finite Space, and undef at the LLVM IR Level of Abstraction
Toward Register Spilling Security Using LLVM and ARM Pointer Authentication
Source code obfuscation with genetic algorithms using LLVM code optimizations
📚 Books worth reading
LLVM Code Generation · 2025
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Chris Lattner Christopher Arthur Lattner (born 1978) is an American software engineer and creator of the compiler and related toolchain system LLVM, Clang, the MLIR…
- Clang Clang (/ˈklæŋ/) is a compiler front end for the programming languages C, C++, Objective-C, and Objective-C++ and the software frameworks OpenMP, OpenCL…
- MLIR (software) MLIR (Multi-Level Intermediate Representation) is a compiler infrastructure project developed as a sub-project of the LLVM project. It provides a modular…
- Objective-C Objective-C is a high-level general-purpose, object-oriented programming language that adds Smalltalk-style message passing (messaging) to the C programming…
- LLDB (debugger) The LLDB Debugger (LLDB) is the debugger created by Chris Lattner as a component of the LLVM project. It is built as a set of reusable components which…
- Xcode Xcode is a suite of developer tools for building apps on Apple devices. It includes an integrated development environment (IDE) of the same name for macOS…
- Mojo (programming language) Mojo is a programming language for Linux and macOS. It is a system programming language with semantics inspired by Rust such as static typing and a borrow…
- Inline assembler In computer programming, an inline assembler is a feature of some compilers that allows low-level code written in assembly language to be embedded within…