Skip to main content
  1. All Posts/

awesome-llvm

Tools Shell

Awesome LLVM

Useful resources and samples for using LLVM-related techniques and tools; for Clang-specific resources, please see awesome-clang.

Documentation (REF)

Official Pages

Other Pages

Official Tools (R1, R2)

Unofficial Tools/Framework

  • American fuzzy lop (AFL) – LLVM mode for instrumentation
  • SVF-tools – Pointer Analysis and Program Dependence Analysis for C and C++ Programs
  • Infer – Facebook’s static analysis framework; C/C++/objc is based on LLVM/Clang
  • wllvm – A wrapper script to build whole-program LLVM bitcode files; its go port gllvm
  • klee – Symbolic Virtual Machine
  • S2E – Selective Symbolic Execution (use KLEE as symbolic executor)
  • RetDec – a retargetable machine-code decompiler based on LLVM
  • capstone – Disassembler based on the MC component of the LLVM compiler infrastructure
  • slicer – Schedule Specialization Framework
  • LLBMC – The Low-Level Bounded Model Checker
  • whole-program-llvm – A wrapper script to build whole-program LLVM bitcode files
  • DWGrep – A tool for querying Dwarf (debuginfo) graphs
  • Emscripten – An LLVM-to-JavaScript Compiler
  • mcsema – An x86 to LLVM IR decompiler
  • stack – A static checker for identifying unstable code
  • andersen – Andersen’s inclusion-based pointer analysis re-implementation in LLVM
  • NeonGoby – Alias Analysis Checker
  • lsif-clangd – Language Server Indexing Format (LSIF) generator for C, C++ and Objective C

Books

Tutorials

Installation

LLVM backed Languages

Bindings

  • llvmlite – A lightweight LLVM python binding for writing JIT compilers
  • LLVM Rust crates