blob: aa51130533b5373bae28b6c658ca7fe6192be2b3 [file] [log] [blame]
Daniel Dunbar21e993c2012-04-19 16:31:37 +00001Programming Documentation
2=========================
3
Bill Wendlingeef31a52012-06-20 11:56:24 +00004.. toctree::
5 :hidden:
6
Bill Wendlingbef3ef92012-10-07 04:56:08 +00007 Atomics
Bill Wendlingeef31a52012-06-20 11:56:24 +00008 CodingStandards
Bill Wendling0bd3dee2012-08-08 08:21:24 +00009 CommandLine
Bill Wendling53960a62012-10-07 04:34:10 +000010 CompilerWriterInfo
Bill Wendlingbef3ef92012-10-07 04:56:08 +000011 ExtendingLLVM
Sean Silva36be1ae2012-10-05 03:32:01 +000012 HowToSetUpLLVMStyleRTTI
Sean Silvab715b202012-12-04 03:20:08 +000013 ProgrammersManual
Bill Wendlingeef31a52012-06-20 11:56:24 +000014
Sean Silvaa7aec402013-01-11 02:28:08 +000015* :doc:`LLVM Language Reference Manual <LangRef>`
Daniel Dunbar21e993c2012-04-19 16:31:37 +000016
Bill Wendlingaf5e2e72012-06-20 11:55:22 +000017 Defines the LLVM intermediate representation and the assembly form of the
18 different nodes.
Daniel Dunbar21e993c2012-04-19 16:31:37 +000019
Sean Silvaa7aec402013-01-11 02:28:08 +000020* :doc:`Atomics`
Sean Silva258aeb52012-09-21 02:46:32 +000021
22 Information about LLVM's concurrency model.
23
Sean Silvab715b202012-12-04 03:20:08 +000024* :doc:`ProgrammersManual`
Daniel Dunbar21e993c2012-04-19 16:31:37 +000025
Bill Wendlingaf5e2e72012-06-20 11:55:22 +000026 Introduction to the general layout of the LLVM sourcebase, important classes
27 and APIs, and some tips & tricks.
Daniel Dunbar21e993c2012-04-19 16:31:37 +000028
Sean Silvaa7aec402013-01-11 02:28:08 +000029* :doc:`CommandLine`
Daniel Dunbar21e993c2012-04-19 16:31:37 +000030
Bill Wendlingaf5e2e72012-06-20 11:55:22 +000031 Provides information on using the command line parsing library.
Daniel Dunbar21e993c2012-04-19 16:31:37 +000032
Sean Silvaa7aec402013-01-11 02:28:08 +000033* :doc:`CodingStandards`
Daniel Dunbar21e993c2012-04-19 16:31:37 +000034
Bill Wendlingaf5e2e72012-06-20 11:55:22 +000035 Details the LLVM coding standards and provides useful information on writing
36 efficient C++ code.
Daniel Dunbar21e993c2012-04-19 16:31:37 +000037
Sean Silva36be1ae2012-10-05 03:32:01 +000038* :doc:`HowToSetUpLLVMStyleRTTI`
39
40 How to make ``isa<>``, ``dyn_cast<>``, etc. available for clients of your
41 class hierarchy.
42
Sean Silvaa7aec402013-01-11 02:28:08 +000043* :doc:`ExtendingLLVM`
Daniel Dunbar21e993c2012-04-19 16:31:37 +000044
Bill Wendlingaf5e2e72012-06-20 11:55:22 +000045 Look here to see how to add instructions and intrinsics to LLVM.
Daniel Dunbar21e993c2012-04-19 16:31:37 +000046
Bill Wendlingaf5e2e72012-06-20 11:55:22 +000047* `Doxygen generated documentation <http://llvm.org/doxygen/>`_
Daniel Dunbar21e993c2012-04-19 16:31:37 +000048
Bill Wendlingaf5e2e72012-06-20 11:55:22 +000049 (`classes <http://llvm.org/doxygen/inherits.html>`_)
50 (`tarball <http://llvm.org/doxygen/doxygen.tar.gz>`_)
Daniel Dunbar21e993c2012-04-19 16:31:37 +000051
Bill Wendlingaf5e2e72012-06-20 11:55:22 +000052* `ViewVC Repository Browser <http://llvm.org/viewvc/>`_
Bill Wendling53960a62012-10-07 04:34:10 +000053
Sean Silvaa7aec402013-01-11 02:28:08 +000054* :doc:`CompilerWriterInfo`
Bill Wendling53960a62012-10-07 04:34:10 +000055
56 A list of helpful links for compiler writers.