Documentation (REF)
- LLVM Language Reference Manual
- LLVM Programmer’s Manual
- LLVM Coding Standards
- LLVM Style RTTI
- Writing an LLVM Pass
- LLVM Alias Analysis Infrastructure
- Source Level Debugging
- Create A Project
- LLVM Developer Policy
- CommandLine 2.0 Library Manual
- Getting Started with the LLVM System
- LLVM Tutorials
- Python Version of the LLVM Tutorial
- LLVM’s Analysis and Transform Passes
- FAQ
- LLVM Testing Infrastructure Guide
- The Often Misunderstood GEP Instruction
- Exception Handling in LLVM
- LLVM Bitcode File Format
- Writing an LLVM Backend
- Sanitizers - AddressSanitizer, MemorySanitizer, ThreadSanitizer, UndefinedBehaviorSanitizer, LeakSanitizer, etc
- The Architecture of Open Source Applications - LLVM
- ELLCC - Online LLVM Demo Page
- Eli Bendersky's website
- ChenWj's LLVM Wiki(Traditional Chinese)
- An Unofficial LLVM Website
- LLVM @ StackOverflow
- Clang @ StackOverflow
- Papers
- opt - LLVM optimizer
- lit - LLVM Integrated Tester
- lli - Directly execute programs from LLVM bitcode
- llvm-dis - LLVM disassembler
- llvm-as - LLVM assembler
- llvm-link - LLVM bitcode linker
llvm-ld(<=2.9) - LLVM linker- llvm-dwarfdump - Print contents of DWARF sections
- llvm-config - Print LLVM compilation options
- llvm-extract - Extract functions from an LLVM module
- llvm-bcanalyzer - LLVM bitcode analyzer
- llvm-objdump - LLVM objdump
- llvm-nm - LLVM nm
- llvm-readobj - LLVM object reader
- llvm-diff - LLVM structural "diff"
- llc - LLVM static compiler
- llvm-ar(llvm-ranlib) - LLVM archiver
- clang - Official C/C++/Objective C/Objective C++ front-end
- clang-format - Format C/C++/Obj-C code with different styles
- clang-check - Error checking and AST dumping based on LibTooling
- scan-build - Clang Static Analyzer
- scan-view - Clang Static Analysis Viewer
clang-modernize - Modernize C++ code- clang-tidy - Lint-like checks and beyondslides
DragonEgg - Using LLVM as a GCC backend- Polly - LLVM Framework for High-Level Loop and Data-Locality Optimizations
- LLDB - The LLDB Debugger
- libfuzzer - a library for coverage-guided fuzz testing
- 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
- Bear - A tool that generates a compilation database for clang tooling
- 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
- rtags - A c/c++ client/server indexer for c/c++/objc[++]
- 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 - A x86 to LLVM IR decompiler
- stack - A static checker for identifying unstable code
andersen - Andersen's inclusion-based pointer analysis re-implementation in LLVMNeonGoby - Alias Analysis Checker
- Getting Started with LLVM Core Libraries, also available on ACM library
- LLVM Cookbook
- LLVM Essentials
- llvm-clang-samples - Examples of LLVM and Clang written by Dr. Eli Bendersky
- srg-llvm-pass-tutorial - A tutorial about llvm passes from Software reliability group
- clang-llvm-tutorial - clang & llvm examples
- Get Started with the LLVM C API
- C/C++/ObjC/ObjC++
- Swift
- GHC Haskell
- Rust
- Julia
- go-llvm
- scala-native
- ldc
- llvmlite - A lightweight LLVM python binding for writing JIT compilers
- LLVM Rust crates