[llvm] [cmake] Add possibility to use ChooseMSVCCRT.cmake when include LLVM library
[llvm-core.git] / docs / ProgrammingDocumentation.rst
blobfa8f114b22a306171993b7546911524c0ba870ea
1 Programming Documentation\r
2 =========================\r
3 \r
4 For developers of applications which use LLVM as a library.\r
5 \r
6 .. toctree::\r
7    :hidden:\r
8 \r
9    Atomics\r
10    CommandLine\r
11    ExtendingLLVM\r
12    HowToSetUpLLVMStyleRTTI\r
13    ProgrammersManual\r
14    Extensions\r
15    LibFuzzer\r
16    FuzzingLLVM\r
17    ScudoHardenedAllocator\r
18    OptBisect\r
19    GwpAsan\r
21 :doc:`Atomics`\r
22   Information about LLVM's concurrency model.\r
24 :doc:`ProgrammersManual`\r
25   Introduction to the general layout of the LLVM sourcebase, important classes\r
26   and APIs, and some tips & tricks.\r
28 :doc:`Extensions`\r
29   LLVM-specific extensions to tools and formats LLVM seeks compatibility with.\r
31 :doc:`CommandLine`\r
32   Provides information on using the command line parsing library.\r
34 :doc:`HowToSetUpLLVMStyleRTTI`\r
35   How to make ``isa<>``, ``dyn_cast<>``, etc. available for clients of your\r
36   class hierarchy.\r
38 :doc:`ExtendingLLVM`\r
39   Look here to see how to add instructions and intrinsics to LLVM.\r
41 :doc:`LibFuzzer`\r
42   A library for writing in-process guided fuzzers.\r
44 :doc:`FuzzingLLVM`\r
45   Information on writing and using Fuzzers to find bugs in LLVM.\r
47 :doc:`ScudoHardenedAllocator`\r
48   A library that implements a security-hardened `malloc()`.\r
50 :doc:`OptBisect`\r
51   A command line option for debugging optimization-induced failures.\r
53 :doc:`GwpAsan`\r
54   A sampled heap memory error detection toolkit designed for production use.