On this page
Links Vellvm - Verifying the LLVM.Vellvm: Verifying the LLVM - Steve Zdancewic (2018) - Great intro to LLVM.Code Generation with llvm-hs by Stephen Diehl (2018) Souper - Superoptimizer for LLVM IR. (HN )Mull - Mutation testing system built on top of LLVM.LLVM Tutorial: Table of Contents Compiler basics (3): LLVM (2019) CodeGen - Experimental wrapper over LLVM for generating and compiling code at run-time.LLVM backend for the Accelerate Array Language kaleidoscope-rs - LLVM tutorial implementation in Rust with llvm-sys.Compiler basics (3): LLVM (2019) Let's Write an LLVM Specializer for Python (2019) (HN )2019 LLVM Developers’ Meeting: E. Christopher & J. Doerfert “Introduction to LLVM” LLVM Tutor - Collection of self-contained reference LLVM passes. It's a tutorial that targets novice and aspiring LLVM developers.LLVM Discourse LLVM Discord LLVM for Grad Students (2015) (step-by-step tutorial for building an LLVM sample pass )Quala - Type Qualifiers for LLVM/Clang.haybale - Symbolic execution of LLVM IR, written in Rust.2019 EuroLLVM Developers’ Meeting: V. Bridgers & F. Piovezan “LLVM IR Tutorial - Phis, GEPs ...” Beyond debug information: Improving program reconstruction in LLDB using C++ modules (2019) LLVM source code Generating Verified LLVM from Isabelle/HOL Snel: SQL Native Execution for LLVM (2020) (HN )Clang - C language family frontend for LLVM. (Docs )Alive2 - Automatic verification of LLVM optimizations. (Paper )Micro C, Part 3: Generating LLVM (2020) jitmap - Small library providing an execution engine for logical binary expressions on bitmaps.LLVM Explore - Notes created while studying LLVM compiler infrastructure in preparation for compiler engineer job and onsite interview.Joseph Groff & Chris Lattner “Swift's High-Level IR: A Case Study..." (2015) Chris Lattner: Compilers, LLVM, Swift, TPU, and ML Accelerators (2019) Cilk - Toy Compiler Infrastructure influenced by LLVM written in Rust.Make LLVM fast again (2020) (Reddit ) (HN )Mapping High Level Constructs to LLVM IR (Code )KLEE LLVM Execution Engine - Symbolic virtual machine built on top of LLVM. (HN )Anselm - Tool that allows you to describe and detect patterns of bad behavior in function calls.pitchfork - Verifying constant-time code with symbolic execution.PhASAR - LLVM-based Static Analysis Framework. (Web )cclyzer - Tool for analyzing LLVM bitcode using Datalog.Vellvm - Coq formalization of the semantics of (a subset of) the LLVM compiler IR.Writing an LLVM Optimization (2020) KLEE - Symbolic virtual machine built on top of the LLVM compiler infrastructure.ALLVM Research Project - All software components — except a small set needed for bootstrapping — are represented in a virtual instruction set instead of native machine code.Run LLVM Assembly in the Browser (HN )Compiling a Higher-Order Smart Contract Language to LLVM (Tweet )The Dynamic Runtime Inlining (DRTI) - With this project it is possible to take the output from an LLVM compiler such as clang and allow selected parts of the code to recompile themselves at runtime.Understanding static single assignment forms (2020) LLVM tutorial in Rust language A tutorial on how to write a compiler using LLVM (2020) cargo-llvm-lines - Count lines of LLVM IR per generic function.QBE vs. LLVM (HN )Infrastructure for ML - Driven Optimizations in LLVM LLVM Project Blog A Complete Guide to LLVM for Programming Language Creators (2020) (HN )The Architecture of Open Source Applications: LLVM (Reddit )Enzyme - High-Performance Automatic Differentiator of LLVM. (Docs )DebugIR - Debugging LLVM-IR Files.Dumbo: LLVM-based Dumb Obfuscator (2019) LLVM Meets Code Property Graphs (2021) LLVM Project Blog revng - Static binary translator. Given a input ELF binary for one of the supported architectures, it will analyze it and emit an equivalent LLVM IR.PolyTracker - LLVM-based instrumentation tool for universal taint analysis.A look at LLVM - comparing clamp implementations (2021) (HN )Speedbuilding LLVM/Clang in 5 minutes (2021) Building LLVM in 90 seconds using Amazon Lambda (2021) (Lobsters )eBPF assembly with LLVM (2020) Alive2: Bounded Translation Validation for LLVM (2021) llvm-deobfuscator - Performs the inverse operation of the control flow flattening pass performed by LLVM-Obfuscator. (Article )LLVM MinGW - LLVM/Clang/LLD based mingw-w64 toolchain.Design issues in LLVM IR (2021) Can memcpy be implemented in LLVM IR? (2021) Clang and LLVM Tutorial - AST Interpreter, Function Pointer Analysis, Value Range Analysis, Data-Flow Analysis, Andersen Pointer Analysis, LLVM Backend.LLVM Internals: The Bitcode Format (2021) A Journey to Understand LLVM-IR (2021) Can we directly execute LLVM-IR? Learning Almost Nothing About LLVM (2021) (HN )Whole Program LLVM in Go - Drop-in replacement for wllvm, that builds the bitcode in parallel, and is faster.The select story (2021) - Story about the removal of a compiler optimization that had been in LLVM for a long time.LLVM 13.0.0 (2021) (HN )llvm-pretty - LLVM pretty printer inspired by the Haskell LLVM binding.Generating relocatable code for ARM processors (2021) (HN )llvmlite - Lightweight LLVM Python Binding for Writing JIT Compilers. (Docs )gem5-SALAM (System Architecture for LLVM-based Accelerator Modeling) - Novel system architecture designed to enable LLVM-based modeling and simulation of custom hardware accelerators.mlir-hs - Haskell bindings for MLIR.Make LLVM fast again (2020) Building a Distribution of LLVM How to learn compilers: LLVM Edition (2021) (HN )llvm-reduce (2021) 2021 LLVM Developers' Meeting manyclangs - Project enabling you to run any commit of clang within a few seconds, without having to build it.LLVM relicensing update and call for help (2021) (HN ) (Lobsters )Remill - Library for lifting of x86, amd64, and aarch64 machine code to LLVM bitcode.mollusc - Pure-Rust libraries for parsing, interpreting, and analyzing LLVM.“LLVM-Libc” C Standard Library (HN )llvm-deno - LLVM bindings for Deno.Building an Operating System from Scratch with LLVM (2021) Pedigree - LLVM dependence graphs.llvm-sys.rs - Rust bindings to LLVM's C API.Crellvm - Verified Credible Compilation for LLVM.llvm-c-search - Terminal interface to search the LLVM-C API.Instrew - High performance LLVM-based dynamic binary instrumentation framework.bruh - Tool to make LLVM IR more human readable.Summus - Simple compiler frontend using LLVM as backend. Can easily be used as a starting point for any kind of compiler.Taming Undefined Behavior in LLVM (2017) Fracture - Architecture-independent decompiler to LLVM IR.Reducing WebAssembly size by exploring all executions in LLVM (2022) (HN )FileCheck - Standalone Swift version of LLVM's flexible pattern matching file verifier.Lanai, the mystery CPU architecture in LLVM (Lobsters ) (HN )RFC: Add an LLVM CAS library and experiment with fine-grained caching for builds (2022) Apple LLVM fork LLVM Guide McSema - Framework for lifting x86, amd64, aarch64, sparc32, and sparc64 program binaries to LLVM bitcode.Peephole Optimizer (For QBE): Studying the LLVM and GCC Optimizers (2022) Whole Program LLVM - Wrapper script to build whole-program LLVM bitcode files.PochiVM - JIT (just-in-time) code-generation framework backed by LLVM and a novel baseline compiler.Guide to Performance Debugging LLVM-based Programs (2022) Writing an LLVM-IR compiler in Rust Rock - Native language with Rust & LLVM.High-Throughput, Formal-Methods-Assisted Fuzzing for LLVM (2022) Formal-Methods-Based Bugfinding for LLVM’s AArch64 Back End (2022) (HN )Caffeine - Symbolic execution engine that interprets LLVM IR.Clang IR (CIR): New IR for Clang (HN ) (Lobsters )LLVM/SPIR-V Bi-Directional Translator Lazification of Function Arguments - Automatic conversion of call by value into call by need in the LLVM IR.Minotaur: A SIMD-Oriented Synthesizing Superoptimizer Ghidra-to-LLVM - Binary-to-LLVM IR lifter that leverages Ghidra's IR and analysis.LLVM on iOS - How to use LLVM + Clang to provide an iOS app with some scripting capability.Swift Bindings for LLVM