[Alignment][NFC] Use Align with TargetLowering::setPrefLoopAlignment
[llvm-complete.git] / docs / ProgrammingDocumentation.rst
bloba51150898534d799b7476972e8a7a5189d47d603
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    CodingStandards\r
11    CommandLine\r
12    CompilerWriterInfo\r
13    ExtendingLLVM\r
14    HowToSetUpLLVMStyleRTTI\r
15    ProgrammersManual\r
16    Extensions\r
17    LibFuzzer\r
18    FuzzingLLVM\r
19    ScudoHardenedAllocator\r
20    OptBisect\r
21    GwpAsan\r
23 :doc:`LLVM Language Reference Manual <LangRef>`\r
24   Defines the LLVM intermediate representation and the assembly form of the\r
25   different nodes.\r
27 :doc:`Atomics`\r
28   Information about LLVM's concurrency model.\r
30 :doc:`ProgrammersManual`\r
31   Introduction to the general layout of the LLVM sourcebase, important classes\r
32   and APIs, and some tips & tricks.\r
34 :doc:`Extensions`\r
35   LLVM-specific extensions to tools and formats LLVM seeks compatibility with.\r
37 :doc:`CommandLine`\r
38   Provides information on using the command line parsing library.\r
40 :doc:`CodingStandards`\r
41   Details the LLVM coding standards and provides useful information on writing\r
42   efficient C++ code.\r
44 :doc:`HowToSetUpLLVMStyleRTTI`\r
45   How to make ``isa<>``, ``dyn_cast<>``, etc. available for clients of your\r
46   class hierarchy.\r
48 :doc:`ExtendingLLVM`\r
49   Look here to see how to add instructions and intrinsics to LLVM.\r
51 `Doxygen generated documentation <http://llvm.org/doxygen/>`_\r
52   (`classes <http://llvm.org/doxygen/inherits.html>`_)\r
54 `Documentation for Go bindings <http://godoc.org/llvm.org/llvm/bindings/go/llvm>`_\r
56 `Github Source Repository Browser <http://github.com/llvm/llvm-project//>`_\r
57    ..\r
59 :doc:`CompilerWriterInfo`\r
60   A list of helpful links for compiler writers.\r
62 :doc:`LibFuzzer`\r
63   A library for writing in-process guided fuzzers.\r
65 :doc:`FuzzingLLVM`\r
66   Information on writing and using Fuzzers to find bugs in LLVM.\r
68 :doc:`ScudoHardenedAllocator`\r
69   A library that implements a security-hardened `malloc()`.\r
71 :doc:`OptBisect`\r
72   A command line option for debugging optimization-induced failures.\r
74 :doc:`GwpAsan`\r
75   A sampled heap memory error detection toolkit designed for production use.