Daniel Dunbar | 21e993c | 2012-04-19 16:31:37 +0000 | [diff] [blame] | 1 | .. _programming: |
| 2 | |
| 3 | Programming Documentation |
| 4 | ========================= |
| 5 | |
Bill Wendling | eef31a5 | 2012-06-20 11:56:24 +0000 | [diff] [blame] | 6 | .. toctree:: |
| 7 | :hidden: |
| 8 | |
Bill Wendling | bef3ef9 | 2012-10-07 04:56:08 +0000 | [diff] [blame] | 9 | Atomics |
Bill Wendling | eef31a5 | 2012-06-20 11:56:24 +0000 | [diff] [blame] | 10 | CodingStandards |
Bill Wendling | 0bd3dee | 2012-08-08 08:21:24 +0000 | [diff] [blame] | 11 | CommandLine |
Bill Wendling | 53960a6 | 2012-10-07 04:34:10 +0000 | [diff] [blame] | 12 | CompilerWriterInfo |
Bill Wendling | bef3ef9 | 2012-10-07 04:56:08 +0000 | [diff] [blame] | 13 | ExtendingLLVM |
Sean Silva | 36be1ae | 2012-10-05 03:32:01 +0000 | [diff] [blame] | 14 | HowToSetUpLLVMStyleRTTI |
Sean Silva | b715b20 | 2012-12-04 03:20:08 +0000 | [diff] [blame^] | 15 | ProgrammersManual |
Bill Wendling | eef31a5 | 2012-06-20 11:56:24 +0000 | [diff] [blame] | 16 | |
Bill Wendling | af5e2e7 | 2012-06-20 11:55:22 +0000 | [diff] [blame] | 17 | * `LLVM Language Reference Manual <LangRef.html>`_ |
Daniel Dunbar | 21e993c | 2012-04-19 16:31:37 +0000 | [diff] [blame] | 18 | |
Bill Wendling | af5e2e7 | 2012-06-20 11:55:22 +0000 | [diff] [blame] | 19 | Defines the LLVM intermediate representation and the assembly form of the |
| 20 | different nodes. |
Daniel Dunbar | 21e993c | 2012-04-19 16:31:37 +0000 | [diff] [blame] | 21 | |
Sean Silva | 258aeb5 | 2012-09-21 02:46:32 +0000 | [diff] [blame] | 22 | * :ref:`atomics` |
| 23 | |
| 24 | Information about LLVM's concurrency model. |
| 25 | |
Sean Silva | b715b20 | 2012-12-04 03:20:08 +0000 | [diff] [blame^] | 26 | * :doc:`ProgrammersManual` |
Daniel Dunbar | 21e993c | 2012-04-19 16:31:37 +0000 | [diff] [blame] | 27 | |
Bill Wendling | af5e2e7 | 2012-06-20 11:55:22 +0000 | [diff] [blame] | 28 | Introduction to the general layout of the LLVM sourcebase, important classes |
| 29 | and APIs, and some tips & tricks. |
Daniel Dunbar | 21e993c | 2012-04-19 16:31:37 +0000 | [diff] [blame] | 30 | |
Bill Wendling | 0bd3dee | 2012-08-08 08:21:24 +0000 | [diff] [blame] | 31 | * :ref:`commandline` |
Daniel Dunbar | 21e993c | 2012-04-19 16:31:37 +0000 | [diff] [blame] | 32 | |
Bill Wendling | af5e2e7 | 2012-06-20 11:55:22 +0000 | [diff] [blame] | 33 | Provides information on using the command line parsing library. |
Daniel Dunbar | 21e993c | 2012-04-19 16:31:37 +0000 | [diff] [blame] | 34 | |
Bill Wendling | eef31a5 | 2012-06-20 11:56:24 +0000 | [diff] [blame] | 35 | * :ref:`coding_standards` |
Daniel Dunbar | 21e993c | 2012-04-19 16:31:37 +0000 | [diff] [blame] | 36 | |
Bill Wendling | af5e2e7 | 2012-06-20 11:55:22 +0000 | [diff] [blame] | 37 | Details the LLVM coding standards and provides useful information on writing |
| 38 | efficient C++ code. |
Daniel Dunbar | 21e993c | 2012-04-19 16:31:37 +0000 | [diff] [blame] | 39 | |
Sean Silva | 36be1ae | 2012-10-05 03:32:01 +0000 | [diff] [blame] | 40 | * :doc:`HowToSetUpLLVMStyleRTTI` |
| 41 | |
| 42 | How to make ``isa<>``, ``dyn_cast<>``, etc. available for clients of your |
| 43 | class hierarchy. |
| 44 | |
Bill Wendling | bef3ef9 | 2012-10-07 04:56:08 +0000 | [diff] [blame] | 45 | * :ref:`extending_llvm` |
Daniel Dunbar | 21e993c | 2012-04-19 16:31:37 +0000 | [diff] [blame] | 46 | |
Bill Wendling | af5e2e7 | 2012-06-20 11:55:22 +0000 | [diff] [blame] | 47 | Look here to see how to add instructions and intrinsics to LLVM. |
Daniel Dunbar | 21e993c | 2012-04-19 16:31:37 +0000 | [diff] [blame] | 48 | |
Bill Wendling | af5e2e7 | 2012-06-20 11:55:22 +0000 | [diff] [blame] | 49 | * `Doxygen generated documentation <http://llvm.org/doxygen/>`_ |
Daniel Dunbar | 21e993c | 2012-04-19 16:31:37 +0000 | [diff] [blame] | 50 | |
Bill Wendling | af5e2e7 | 2012-06-20 11:55:22 +0000 | [diff] [blame] | 51 | (`classes <http://llvm.org/doxygen/inherits.html>`_) |
| 52 | (`tarball <http://llvm.org/doxygen/doxygen.tar.gz>`_) |
Daniel Dunbar | 21e993c | 2012-04-19 16:31:37 +0000 | [diff] [blame] | 53 | |
Bill Wendling | af5e2e7 | 2012-06-20 11:55:22 +0000 | [diff] [blame] | 54 | * `ViewVC Repository Browser <http://llvm.org/viewvc/>`_ |
Bill Wendling | 53960a6 | 2012-10-07 04:34:10 +0000 | [diff] [blame] | 55 | |
| 56 | * :ref:`compiler_writer_info` |
| 57 | |
| 58 | A list of helpful links for compiler writers. |