Programming Documentation¶
For developers of applications which use LLVM as a library.
- LLVM Atomic Instructions and Concurrency Guide
- Information about LLVM’s concurrency model.
- LLVM Programmer’s Manual
- Introduction to the general layout of the LLVM sourcebase, important classes and APIs, and some tips & tricks.
- LLVM Extensions
- LLVM-specific extensions to tools and formats LLVM seeks compatibility with.
- CommandLine 2.0 Library Manual
- Provides information on using the command line parsing library.
- How to set up LLVM-style RTTI for your class hierarchy
- How to make
isa<>
,dyn_cast<>
, etc. available for clients of your class hierarchy. - Extending LLVM: Adding instructions, intrinsics, types, etc.
- Look here to see how to add instructions and intrinsics to LLVM.
- libFuzzer – a library for coverage-guided fuzz testing.
- A library for writing in-process guided fuzzers.
- Fuzzing LLVM libraries and tools
- Information on writing and using Fuzzers to find bugs in LLVM.
- Scudo Hardened Allocator
- A library that implements a security-hardened malloc().
- Using -opt-bisect-limit to debug optimization errors
- A command line option for debugging optimization-induced failures.
- GWP-ASan
- A sampled heap memory error detection toolkit designed for production use.