LLVM Resources ↩
This document gathers LLVM related resources that caught our attention. |
- What is LLVM? The power behind Swift, Rust, Clang, and more by Serdar Yeulalp, August 2023.
- Remote LLVM development with Visual Studio Code by Konrad Kleine, April 2021.
- A Brief Introduction to Clang-Tidy, by Bartlomeij Filipek, January 2021.
- MIR: A lightweight JIT compiler project, by Vladimir Makarov, January 2020.
- A look at LLVM Advanced Data Types by Serge Guelton, April 2019.
- Compiler Performance and LLVM by Jonathan Goodwin, March 2019.
- LLVM IR and Go by Robin Eklind, December 2018.
- How LLVM optimizes a function by John Regehr, September 2018.
- How LLVM optimizes power sums by Krister Walfridsson, April 2018.
- Adventures in JIT compilation: Part 3 - LLVM by Eli Bendersky, May 2017.
- Adventures in JIT compilation: Part 2 - an x64 JIT by Eli Bendersky, March 2017.
- Adventures in JIT compilation: Part 1 - an interpreter by Eli Bendersky, March 2017.
- A Tourist’s Guide to the LLVM Source Code by John Regehr, January 2017.
- LLVM for Grad Students by Adrian Sampson, August 2015.
- A deeper look into the LLVM code generator, Part 1 by Eli Bendersky, February 2013.
- Life of an instruction in LLVM by Eli Bendersky, November 2012.
- Create a working compiler with the LLVM framework, Part 2 by Arpan Sen, June 2012.
- Create a working compiler with the LLVM framework, Part 1 by Arpan Sen, June 2012.
- Writing Your Own Toy Compiler Using Flex, Bison and LLVM, by Loren Segal, September 2009.
- nikic's Blog :
- How to reduce LLVM crashes, October 2023.
- LLVM: The middle-end optimization pipeline, April 2023.
- This year in LLVM (2022), December 2022.
- Design issues in LLVM IR, June 2021.
- Make LLVM fast again, May 2020.
- LLVM Project Blog :
- Improving LLVM Infrastructure - Part 1: Mailing lists, January 2022.
- LLVM’s New Pass Manager, March 2021.
- LLVM Infrastructure and Rust by Beka Modebadze, December 2021.
- Compiling With Clang Optimization Flags by Dori Exterman, August 2021.
- Building llvm-project with Ninja on MacOS by Yilong Guo (Intel), May 2021.
- Code alignment options in LLVM by Denis Bakhvalov, January 2018.
Books ▴
- Learn LLVM 17 (2nd Edition) by Kai Nacke, January 2024.
(Packt, ISBN 978-1-83763-134-6, 416 pages) - Advanced Compiler Design with LLVM by David Chisnall, March 2022.
(Pearson, ISBN 978-0-1337-9864-7, 360 pages) - LLVM Techniques, Tips and Best Practices by Min-Yih Hsu, April 2021.
(Packt Publishing, ISBN 978-1-8388-2495-2, 370 pages) - Tutorial: Creating an LLVM Backend for the Cpu0 Architecture by Chen Chung-Shu, February 2020 (Release 3.9.1).
- Mapping High Level Constructs to LVVM IR (ebook) by Michael Rodle, 2018.
- LLVM Essentials by S. Sarda & M. Pandey, December 2015
(Packt Publishing, ISBN 978-1-78528-080-1, 166 pages). - LLVM Cookbook, by M. Pandey & S. Sarda, May 2015.
(Packt Publishing, ISBN 978-1-78528-598-1, 296 pages) - Getting Started with LLVM Core Libraries by B. Cardoso Lopez & R. Auler, August 2014.
(Packt Publishing, ISBN 978-1-78216-692-4, 314 pages)
- Introduction to the Low-Level Virtual Machine (LLVM), October 2021.
- CS 6120: Advanced Compilers: The Self-Guided Online Course by Adrian Sampson, 2020.
- DCC888: Static Program Analysis by Fernando Pereira, January 2020.
- Compilers: *Code Generation with LLVM by Anoop Sarkar (instructor), Summer 2019.
- EEECS 582: Advanced Compilers, Fall 2018.
- Advanced compilers by Vesa Hirvisalo (instructor), 2015.
News ▴
- LLVM Weekly - A weekly newsletter covering developments in LLVM, Clang, and related projects.
- Planet Clang - Planet Clang is a window into the world, work and lives of Clang developers, contributors and the standards they implement.
- Alive2: Bounded Translation Validation for LLVM by Nuno P. Lopes, PLDI 2021, Jun 2021.
Note: See page "LLVM Related Publications" on the official LLVM website.
We mention here only publications from Chris Lattner's and Vikram Adve:
- Design decisions that shapped LLVM by Chris Lattner (March 2012).
- The LLVM Instruction Set and Compilation Strategy by Chris Lattner and Vikram Adve (August 2002).
- LLVM: An infrastructure for Multi-Stage Optimization by Chris Lattner (Master Thesis, December 2002).
- Compiler Explorer (type your C/C++ code in the left pane, then select "x86-64 clang 13.0.1" and add a new pane "IR output").
- Polly – a high-level loop and data-locality optimizer and optimization infrastructure for LLVM.
- Utilizing TableGen for Non-Compiling Processes by Simon Cook, April 2015.
- LLVM TableGen by Sami Teräväinen, February 2015.