3 Subsystem Documentation
4 =======================
25 .. FIXME: once LangRef is Sphinxified, HowToUseInstrMappings should be put
26 under LangRef's toctree instead of this page's toctree.
28 * `Writing an LLVM Pass <WritingAnLLVMPass.html>`_
30 Information on how to write LLVM transformations and analyses.
32 * `Writing an LLVM Backend <WritingAnLLVMBackend.html>`_
34 Information on how to write LLVM backends for machine targets.
36 * :ref:`code_generator`
38 The design and implementation of the LLVM code generator. Useful if you are
39 working on retargetting LLVM to a new architecture, designing a new codegen
40 pass, or enhancing existing components.
44 Describes the TableGen tool, which is used heavily by the LLVM code
47 * :ref:`alias_analysis`
49 Information on how to write a new alias analysis implementation or how to
50 use existing analyses.
52 * `Accurate Garbage Collection with LLVM <GarbageCollection.html>`_
54 The interfaces source-language compilers should use for compiling GC'd
57 * :doc:`Source Level Debugging with LLVM <SourceLevelDebugging>`
59 This document describes the design and philosophy behind the LLVM
60 source-level debugger.
62 * :ref:`exception_handling`
64 This document describes the design and implementation of exception handling
69 Automatic bug finder and test-case reducer description and usage
72 * :ref:`bitcode_format`
74 This describes the file format and encoding used for LLVM "bc" files.
76 * :doc:`System Library <SystemLibrary>`
78 This document describes the LLVM System Library (``lib/System``) and
79 how to keep LLVM source code portable
83 This document describes the interface between LLVM intermodular optimizer
84 and the linker and its design
88 How to build your programs with link-time optimization on Linux.
90 * :ref:`debugging-jited-code`
92 How to debug JITed code with GDB.
94 * :ref:`branch_weight`
96 Provides information about Branch Prediction Information.
98 * :ref:`segmented_stacks`
100 This document describes segmented stacks and how they are used in LLVM.
102 * `Howto: Implementing LLVM Integrated Assembler`_
104 A simple guide for how to implement an LLVM integrated assembler for an
107 .. _`Howto: Implementing LLVM Integrated Assembler`: http://www.embecosm.com/download/ean10.html
109 * :ref:`marked_up_disassembly`
111 This document describes the optional rich disassembly output syntax.