[NVPTX] Add more precise PTX/SM target attributes
[oota-llvm.git] / docs / subsystems.rst
1 .. _subsystems:
2
3 Subsystem Documentation
4 =======================
5
6 .. toctree::
7    :hidden:
8
9    AliasAnalysis
10    BitCodeFormat
11    BranchWeightMetadata
12    Bugpoint
13    CodeGenerator
14    ExceptionHandling
15    LinkTimeOptimization
16    SegmentedStacks
17    TableGenFundamentals
18    DebuggingJITedCode
19    GoldPlugin
20    MarkedUpDisassembly
21
22 * `Writing an LLVM Pass <WritingAnLLVMPass.html>`_
23     
24    Information on how to write LLVM transformations and analyses.
25     
26 * `Writing an LLVM Backend <WritingAnLLVMBackend.html>`_
27     
28    Information on how to write LLVM backends for machine targets.
29
30 * :ref:`code_generator`
31
32    The design and implementation of the LLVM code generator.  Useful if you are
33    working on retargetting LLVM to a new architecture, designing a new codegen
34    pass, or enhancing existing components.
35     
36 * :ref:`tablegen`
37
38    Describes the TableGen tool, which is used heavily by the LLVM code
39    generator.
40     
41 * :ref:`alias_analysis`
42     
43    Information on how to write a new alias analysis implementation or how to
44    use existing analyses.
45     
46 * `Accurate Garbage Collection with LLVM <GarbageCollection.html>`_
47     
48    The interfaces source-language compilers should use for compiling GC'd
49    programs.
50
51 * `Source Level Debugging with LLVM <SourceLevelDebugging.html>`_
52     
53    This document describes the design and philosophy behind the LLVM
54    source-level debugger.
55     
56 * :ref:`exception_handling`
57     
58    This document describes the design and implementation of exception handling
59    in LLVM.
60     
61 * :ref:`bugpoint`
62     
63    Automatic bug finder and test-case reducer description and usage
64    information.
65     
66 * :ref:`bitcode_format`
67     
68    This describes the file format and encoding used for LLVM "bc" files.
69     
70 * `System Library <SystemLibrary.html>`_
71     
72    This document describes the LLVM System Library (<tt>lib/System</tt>) and
73    how to keep LLVM source code portable
74     
75 * :ref:`lto`
76     
77    This document describes the interface between LLVM intermodular optimizer
78    and the linker and its design
79     
80 * :ref:`gold-plugin`
81     
82    How to build your programs with link-time optimization on Linux.
83     
84 * :ref:`debugging-jited-code`
85     
86    How to debug JITed code with GDB.
87     
88 * :ref:`branch_weight`
89     
90    Provides information about Branch Prediction Information.
91
92 * :ref:`segmented_stacks`
93
94    This document describes segmented stacks and how they are used in LLVM.
95
96 * `Howto: Implementing LLVM Integrated Assembler`_
97
98    A simple guide for how to implement an LLVM integrated assembler for an
99    architecture.
100
101 .. _`Howto: Implementing LLVM Integrated Assembler`: http://www.embecosm.com/download/ean10.html
102
103 * :ref:`marked_up_disassembly`
104
105    This document describes the optional rich disassembly output syntax.
106