blob: fe2604fbb7b593a821698affdc4733b82158fa08 [file] [log] [blame]
Daniel Dunbarfbb80412012-04-19 16:31:37 +00001.. _programming:
2
3Programming Documentation
4=========================
5
Bill Wendling1eec2722012-06-20 11:56:24 +00006.. toctree::
7 :hidden:
8
9 CodingStandards
Bill Wendling26f1f002012-08-08 08:21:24 +000010 CommandLine
Sean Silva835ef202012-09-21 02:46:32 +000011 Atomics
Sean Silva5ce54c22012-10-05 03:32:01 +000012 HowToSetUpLLVMStyleRTTI
Bill Wendling1eec2722012-06-20 11:56:24 +000013
Bill Wendling39174de2012-06-20 11:55:22 +000014* `LLVM Language Reference Manual <LangRef.html>`_
Daniel Dunbarfbb80412012-04-19 16:31:37 +000015
Bill Wendling39174de2012-06-20 11:55:22 +000016 Defines the LLVM intermediate representation and the assembly form of the
17 different nodes.
Daniel Dunbarfbb80412012-04-19 16:31:37 +000018
Sean Silva835ef202012-09-21 02:46:32 +000019* :ref:`atomics`
20
21 Information about LLVM's concurrency model.
22
Bill Wendling39174de2012-06-20 11:55:22 +000023* `The LLVM Programmers Manual <ProgrammersManual.html>`_
Daniel Dunbarfbb80412012-04-19 16:31:37 +000024
Bill Wendling39174de2012-06-20 11:55:22 +000025 Introduction to the general layout of the LLVM sourcebase, important classes
26 and APIs, and some tips & tricks.
Daniel Dunbarfbb80412012-04-19 16:31:37 +000027
Bill Wendling26f1f002012-08-08 08:21:24 +000028* :ref:`commandline`
Daniel Dunbarfbb80412012-04-19 16:31:37 +000029
Bill Wendling39174de2012-06-20 11:55:22 +000030 Provides information on using the command line parsing library.
Daniel Dunbarfbb80412012-04-19 16:31:37 +000031
Bill Wendling1eec2722012-06-20 11:56:24 +000032* :ref:`coding_standards`
Daniel Dunbarfbb80412012-04-19 16:31:37 +000033
Bill Wendling39174de2012-06-20 11:55:22 +000034 Details the LLVM coding standards and provides useful information on writing
35 efficient C++ code.
Daniel Dunbarfbb80412012-04-19 16:31:37 +000036
Sean Silva5ce54c22012-10-05 03:32:01 +000037* :doc:`HowToSetUpLLVMStyleRTTI`
38
39 How to make ``isa<>``, ``dyn_cast<>``, etc. available for clients of your
40 class hierarchy.
41
Bill Wendling39174de2012-06-20 11:55:22 +000042* `Extending LLVM <ExtendingLLVM.html>`_
Daniel Dunbarfbb80412012-04-19 16:31:37 +000043
Bill Wendling39174de2012-06-20 11:55:22 +000044 Look here to see how to add instructions and intrinsics to LLVM.
Daniel Dunbarfbb80412012-04-19 16:31:37 +000045
Bill Wendling39174de2012-06-20 11:55:22 +000046* `Doxygen generated documentation <http://llvm.org/doxygen/>`_
Daniel Dunbarfbb80412012-04-19 16:31:37 +000047
Bill Wendling39174de2012-06-20 11:55:22 +000048 (`classes <http://llvm.org/doxygen/inherits.html>`_)
49 (`tarball <http://llvm.org/doxygen/doxygen.tar.gz>`_)
Daniel Dunbarfbb80412012-04-19 16:31:37 +000050
Bill Wendling39174de2012-06-20 11:55:22 +000051* `ViewVC Repository Browser <http://llvm.org/viewvc/>`_