3a0db7878d9b294fcbd5402e6b8eba9e801e186c
[oota-llvm.git] / docs / subsystems.rst
1 .. _subsystems:
2
3 Subsystem Documentation
4 =======================
5
6  * `Writing an LLVM Pass <WritingAnLLVMPass.html>`_
7     
8     Information on how to write LLVM transformations and analyses.
9     
10  * `Writing an LLVM Backend <WritingAnLLVMBackend.html>`_
11     
12     Information on how to write LLVM backends for machine targets.
13     
14  * `The LLVM Target-Independent Code Generator <CodeGenerator.html>`_
15     
16     The design and implementation of the LLVM code generator.  Useful if you are
17     working on retargetting LLVM to a new architecture, designing a new codegen
18     pass, or enhancing existing components.
19     
20  * `TableGen Fundamentals <TableGenFundamentals.html>`_
21     
22     Describes the TableGen tool, which is used heavily by the LLVM code
23     generator.
24     
25  * `Alias Analysis in LLVM <AliasAnalysis.html>`_
26     
27     Information on how to write a new alias analysis implementation or how to
28     use existing analyses.
29     
30  * `Accurate Garbage Collection with LLVM <GarbageCollection.html>`_
31     
32     The interfaces source-language compilers should use for compiling GC'd
33     programs.
34     
35  * `Source Level Debugging with LLVM <SourceLevelDebugging.html>`_
36     
37     This document describes the design and philosophy behind the LLVM
38     source-level debugger.
39     
40  * `Zero Cost Exception handling in LLVM <ExceptionHandling.html>`_
41     
42     This document describes the design and implementation of exception handling
43     in LLVM.
44     
45  * `Bugpoint <Bugpoint.html>`_
46     
47     Automatic bug finder and test-case reducer description and usage
48     information.
49     
50  * `LLVM Bitcode File Format <BitCodeFormat.html>`_
51     
52     This describes the file format and encoding used for LLVM "bc" files.
53     
54  * `System Library <SystemLibrary.html>`_
55     
56     This document describes the LLVM System Library (<tt>lib/System</tt>) and
57     how to keep LLVM source code portable
58     
59  * `Link Time Optimization <LinkTimeOptimization.html>`_
60     
61     This document describes the interface between LLVM intermodular optimizer
62     and the linker and its design
63     
64  * `The LLVM gold plugin <GoldPlugin.html>`_
65     
66     How to build your programs with link-time optimization on Linux.
67     
68  * `The GDB JIT interface <DebuggingJITedCode.html>`_
69     
70     How to debug JITed code with GDB.
71     
72  * `Branch Weight Metadata <BranchWeightMetadata.html>`_
73     
74     Provides information about Branch Prediction Information.