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