[llvm] r260040 - [docs] Wordsmithing to program layout descriptio in GettingStarted

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 7 08:23:32 PST 2016


Author: reames
Date: Sun Feb  7 10:23:32 2016
New Revision: 260040

URL: http://llvm.org/viewvc/llvm-project?rev=260040&view=rev
Log:
[docs] Wordsmithing to program layout descriptio in GettingStarted

This just incrementally improves what was already there; it's questionable whether this content belongs in the getting started guide at all.

Patch by Ben Nathanson w/permission w/minor edtis by me.


Modified:
    llvm/trunk/docs/GettingStarted.rst

Modified: llvm/trunk/docs/GettingStarted.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/GettingStarted.rst?rev=260040&r1=260039&r2=260040&view=diff
==============================================================================
--- llvm/trunk/docs/GettingStarted.rst (original)
+++ llvm/trunk/docs/GettingStarted.rst Sun Feb  7 10:23:32 2016
@@ -132,7 +132,7 @@ Here's the short story for getting up an
      `below`_.
 
 Consult the `Getting Started with LLVM`_ section for detailed information on
-configuring and compiling LLVM.  Go to `Program Layout`_ to learn about the 
+configuring and compiling LLVM.  Go to `Directory Layout`_ to learn about the 
 layout of the source code tree.
 
 Requirements
@@ -936,40 +936,38 @@ use this command instead of the 'echo' c
 .. _Program Layout:
 .. _general layout:
 
-Program Layout
-==============
+Directory Layout
+================
 
 One useful source of information about the LLVM source base is the LLVM `doxygen
-<http://www.doxygen.org/>`_ documentation available at
+<http://www.doxygen.org/>`_ documentation available at 
 `<http://llvm.org/doxygen/>`_.  The following is a brief introduction to code
 layout:
 
 ``llvm/examples``
 -----------------
 
-This directory contains some simple examples of how to use the LLVM IR and JIT.
+Simple examples using the LLVM IR and JIT.
 
 ``llvm/include``
 ----------------
 
-This directory contains public header files exported from the LLVM library. The
-three main subdirectories of this directory are:
+Public header files exported from the LLVM library. The three main subdirectories:
 
 ``llvm/include/llvm``
 
-  This directory contains all of the LLVM specific header files.  This directory
-  also has subdirectories for different portions of LLVM: ``Analysis``,
-  ``CodeGen``, ``Target``, ``Transforms``, etc...
+  All LLVM-specific header files, and  subdirectories for different portions of 
+  LLVM: ``Analysis``, ``CodeGen``, ``Target``, ``Transforms``, etc...
 
 ``llvm/include/llvm/Support``
 
-  This directory contains generic support libraries that are provided with LLVM
-  but not necessarily specific to LLVM. For example, some C++ STL utilities and
-  a Command Line option processing library store their header files here.
+  Generic support libraries provided with LLVM but not necessarily specific to 
+  LLVM. For example, some C++ STL utilities and a Command Line option processing 
+  library store header files here.
 
 ``llvm/include/llvm/Config``
 
-  This directory contains header files configured by the ``configure`` script.
+  Header files configured by the ``configure`` script.
   They wrap "standard" UNIX and C header files.  Source code can include these
   header files which automatically take care of the conditional #includes that
   the ``configure`` script generates.
@@ -977,103 +975,76 @@ three main subdirectories of this direct
 ``llvm/lib``
 ------------
 
-This directory contains most of the source files of the LLVM system. In LLVM,
-almost all code exists in libraries, making it very easy to share code among the
-different `tools`_.
+Most source files are here. By putting code in libraries, LLVM makes it easy to 
+share code among the `tools`_.
 
 ``llvm/lib/IR/``
 
-  This directory holds the core LLVM source files that implement core classes
-  like Instruction and BasicBlock.
+  Core LLVM source files that implement core classes like Instruction and 
+  BasicBlock.
 
 ``llvm/lib/AsmParser/``
 
-  This directory holds the source code for the LLVM assembly language parser
-  library.
+  Source code for the LLVM assembly language parser library.
 
 ``llvm/lib/Bitcode/``
 
-  This directory holds code for reading and write LLVM bitcode.
+  Code for reading and writing bitcode.
 
 ``llvm/lib/Analysis/``
 
-  This directory contains a variety of different program analyses, such as
-  Dominator Information, Call Graphs, Induction Variables, Interval
-  Identification, Natural Loop Identification, etc.
+  A variety of program analyses, such as Call Graphs, Induction Variables, 
+  Natural Loop Identification, etc.
 
 ``llvm/lib/Transforms/``
 
-  This directory contains the source code for the LLVM to LLVM program
-  transformations, such as Aggressive Dead Code Elimination, Sparse Conditional
-  Constant Propagation, Inlining, Loop Invariant Code Motion, Dead Global
-  Elimination, and many others.
+  IR-to-IR program transformations, such as Aggressive Dead Code Elimination, 
+  Sparse Conditional Constant Propagation, Inlining, Loop Invariant Code Motion, 
+  Dead Global Elimination, and many others.
 
 ``llvm/lib/Target/``
 
-  This directory contains files that describe various target architectures for
-  code generation.  For example, the ``llvm/lib/Target/X86`` directory holds the
-  X86 machine description while ``llvm/lib/Target/ARM`` implements the ARM
-  backend.
+  Files describing target architectures for code generation.  For example, 
+  ``llvm/lib/Target/X86`` holds the X86 machine description.
 
 ``llvm/lib/CodeGen/``
 
-  This directory contains the major parts of the code generator: Instruction
-  Selector, Instruction Scheduling, and Register Allocation.
+  The major parts of the code generator: Instruction Selector, Instruction 
+  Scheduling, and Register Allocation.
 
 ``llvm/lib/MC/``
 
-  (FIXME: T.B.D.)
-
-``llvm/lib/Debugger/``
-
-  This directory contains the source level debugger library that makes it
-  possible to instrument LLVM programs so that a debugger could identify source
-  code locations at which the program is executing.
+  (FIXME: T.B.D.)  ....?
 
 ``llvm/lib/ExecutionEngine/``
 
-  This directory contains libraries for executing LLVM bitcode directly at
-  runtime in both interpreted and JIT compiled fashions.
+  Libraries for directly executing bitcode at runtime in interpreted and 
+  JIT-compiled scenarios.
 
 ``llvm/lib/Support/``
 
-  This directory contains the source code that corresponds to the header files
-  located in ``llvm/include/ADT/`` and ``llvm/include/Support/``.
+  Source code that corresponding to the header files in ``llvm/include/ADT/``
+  and ``llvm/include/Support/``.
 
 ``llvm/projects``
 -----------------
 
-This directory contains projects that are not strictly part of LLVM but are
-shipped with LLVM. This is also the directory where you should create your own
-LLVM-based projects.
-
-``llvm/runtime``
-----------------
-
-This directory contains libraries which are compiled into LLVM bitcode and used
-when linking programs with the Clang front end.  Most of these libraries are
-skeleton versions of real libraries; for example, libc is a stripped down
-version of glibc.
-
-Unlike the rest of the LLVM suite, this directory needs the LLVM GCC front end
-to compile.
+Projects not strictly part of LLVM but shipped with LLVM. This is also the 
+directory for creating your own LLVM-based projects which leverage the LLVM
+build system.
 
 ``llvm/test``
 -------------
 
-This directory contains feature and regression tests and other basic sanity
-checks on the LLVM infrastructure. These are intended to run quickly and cover a
-lot of territory without being exhaustive.
+Feature and regression tests and other sanity checks on LLVM infrastructure. These
+are intended to run quickly and cover a lot of territory without being exhaustive.
 
 ``test-suite``
 --------------
 
-This is not a directory in the normal llvm module; it is a separate Subversion
-module that must be checked out (usually to ``projects/test-suite``).  This
-module contains a comprehensive correctness, performance, and benchmarking test
-suite for LLVM. It is a separate Subversion module because not every LLVM user
-is interested in downloading or building such a comprehensive test suite. For
-further details on this test suite, please see the :doc:`Testing Guide
+A comprehensive correctness, performance, and benchmarking test suite for LLVM. 
+Comes in a separate Subversion module because not every LLVM user is interested 
+in such a comprehensive suite. For details see the :doc:`Testing Guide
 <TestingGuide>` document.
 
 .. _tools:
@@ -1081,7 +1052,7 @@ further details on this test suite, plea
 ``llvm/tools``
 --------------
 
-The **tools** directory contains the executables built out of the libraries
+Executables built out of the libraries
 above, which form the main part of the user interface.  You can always get help
 for a tool by typing ``tool_name -help``.  The following is a brief introduction
 to the most important tools.  More detailed information is in
@@ -1129,72 +1100,67 @@ the `Command Guide <CommandGuide/index.h
 ``opt``
 
   ``opt`` reads LLVM bitcode, applies a series of LLVM to LLVM transformations
-  (which are specified on the command line), and then outputs the resultant
-  bitcode.  The '``opt -help``' command is a good way to get a list of the
+  (which are specified on the command line), and outputs the resultant
+  bitcode.   '``opt -help``'  is a good way to get a list of the
   program transformations available in LLVM.
 
-  ``opt`` can also be used to run a specific analysis on an input LLVM bitcode
-  file and print out the results.  It is primarily useful for debugging
+  ``opt`` can also  run a specific analysis on an input LLVM bitcode
+  file and print  the results.  Primarily useful for debugging
   analyses, or familiarizing yourself with what an analysis does.
 
 ``llvm/utils``
 --------------
 
-This directory contains utilities for working with LLVM source code, and some of
-the utilities are actually required as part of the build process because they
-are code generators for parts of LLVM infrastructure.
+Utilities for working with LLVM source code; some are part of the build process
+because they are code generators for parts of the infrastructure.
 
 
 ``codegen-diff``
 
-  ``codegen-diff`` is a script that finds differences between code that LLC
-  generates and code that LLI generates. This is a useful tool if you are
+  ``codegen-diff`` finds differences between code that LLC
+  generates and code that LLI generates. This is useful if you are
   debugging one of them, assuming that the other generates correct output. For
   the full user manual, run ```perldoc codegen-diff'``.
 
 ``emacs/``
 
-  The ``emacs`` directory contains syntax-highlighting files which will work
-  with Emacs and XEmacs editors, providing syntax highlighting support for LLVM
-  assembly files and TableGen description files. For information on how to use
-  the syntax files, consult the ``README`` file in that directory.
+   Emacs and XEmacs syntax highlighting  for LLVM   assembly files and TableGen 
+   description files.  See the ``README`` for information on using them.
 
 ``getsrcs.sh``
 
-  The ``getsrcs.sh`` script finds and outputs all non-generated source files,
-  which is useful if one wishes to do a lot of development across directories
-  and does not want to individually find each file. One way to use it is to run,
-  for example: ``xemacs `utils/getsources.sh``` from the top of your LLVM source
+  Finds and outputs all non-generated source files,
+  useful if one wishes to do a lot of development across directories
+  and does not want to find each file. One way to use it is to run,
+  for example: ``xemacs `utils/getsources.sh``` from the top of the LLVM source
   tree.
 
 ``llvmgrep``
 
-  This little tool performs an ``egrep -H -n`` on each source file in LLVM and
+  Performs an ``egrep -H -n`` on each source file in LLVM and
   passes to it a regular expression provided on ``llvmgrep``'s command
-  line. This is a very efficient way of searching the source base for a
+  line. This is an efficient way of searching the source base for a
   particular regular expression.
 
 ``makellvm``
 
-  The ``makellvm`` script compiles all files in the current directory and then
+  Compiles all files in the current directory, then
   compiles and links the tool that is the first argument. For example, assuming
-  you are in the directory ``llvm/lib/Target/Sparc``, if ``makellvm`` is in your
-  path, simply running ``makellvm llc`` will make a build of the current
+  you are in  ``llvm/lib/Target/Sparc``, if ``makellvm`` is in your
+  path,  running ``makellvm llc`` will make a build of the current
   directory, switch to directory ``llvm/tools/llc`` and build it, causing a
   re-linking of LLC.
 
 ``TableGen/``
 
-  The ``TableGen`` directory contains the tool used to generate register
+  Contains the tool used to generate register
   descriptions, instruction set descriptions, and even assemblers from common
   TableGen description files.
 
 ``vim/``
 
-  The ``vim`` directory contains syntax-highlighting files which will work with
-  the VIM editor, providing syntax highlighting support for LLVM assembly files
-  and TableGen description files. For information on how to use the syntax
-  files, consult the ``README`` file in that directory.
+  vim syntax-highlighting for LLVM assembly files
+  and TableGen description files. See the    ``README`` for how to use them.
 
 .. _simple example:
 




More information about the llvm-commits mailing list