3 Subsystem Documentation
4 =======================
20 * `Writing an LLVM Pass <WritingAnLLVMPass.html>`_
22 Information on how to write LLVM transformations and analyses.
24 * `Writing an LLVM Backend <WritingAnLLVMBackend.html>`_
26 Information on how to write LLVM backends for machine targets.
28 * :ref:`code_generator`
30 The design and implementation of the LLVM code generator. Useful if you are
31 working on retargetting LLVM to a new architecture, designing a new codegen
32 pass, or enhancing existing components.
36 Describes the TableGen tool, which is used heavily by the LLVM code
39 * :ref:`alias_analysis`
41 Information on how to write a new alias analysis implementation or how to
42 use existing analyses.
44 * `Accurate Garbage Collection with LLVM <GarbageCollection.html>`_
46 The interfaces source-language compilers should use for compiling GC'd
49 * `Source Level Debugging with LLVM <SourceLevelDebugging.html>`_
51 This document describes the design and philosophy behind the LLVM
52 source-level debugger.
54 * :ref:`exception_handling`
56 This document describes the design and implementation of exception handling
61 Automatic bug finder and test-case reducer description and usage
64 * :ref:`bitcode_format`
66 This describes the file format and encoding used for LLVM "bc" files.
68 * `System Library <SystemLibrary.html>`_
70 This document describes the LLVM System Library (<tt>lib/System</tt>) and
71 how to keep LLVM source code portable
75 This document describes the interface between LLVM intermodular optimizer
76 and the linker and its design
78 * `The LLVM gold plugin <GoldPlugin.html>`_
80 How to build your programs with link-time optimization on Linux.
82 * :ref:`debugging-jited-code`
84 How to debug JITed code with GDB.
86 * :ref:`branch_weight`
88 Provides information about Branch Prediction Information.
90 * :ref:`segmented_stacks`
92 This document describes segmented stacks and how they are used in LLVM.