diff --git a/llvm/docs/GettingStarted.rst b/llvm/docs/GettingStarted.rst --- a/llvm/docs/GettingStarted.rst +++ b/llvm/docs/GettingStarted.rst @@ -13,10 +13,10 @@ The LLVM project has multiple components. The core of the project is itself called "LLVM". This contains all of the tools, libraries, and header files needed to process intermediate representations and converts it into -object files. Tools include an assembler, disassembler, bitcode analyzer, and -bitcode optimizer. It also contains basic regression tests. +object files. Tools include an assembler, disassembler, bitcode analyzer, and +bitcode optimizer. It also contains basic regression tests. -C-like languages use the `Clang `_ front end. This +C-like languages use the `Clang `_ frontend. This component compiles C, C++, Objective C, and Objective C++ code into LLVM bitcode -- and from there into object files, using LLVM. @@ -27,7 +27,7 @@ Getting the Source Code and Building LLVM ========================================= -The LLVM Getting Started documentation may be out of date. The `Clang +The LLVM Getting Started documentation may be out of date. The `Clang Getting Started `_ page might have more accurate information. @@ -90,7 +90,7 @@ * CMake will generate build targets for each tool and library, and most LLVM sub-projects generate their own ``check-`` target. - * Running a serial build will be **slow**. To improve speed, try running a + * Running a serial build will be **slow**. To improve speed, try running a parallel build. That's done by default in Ninja; for ``make``, use the option ``-j NN``, where ``NN`` is the number of parallel jobs, e.g. the number of available CPUs. @@ -101,7 +101,7 @@ `below`_. Consult the `Getting Started with LLVM`_ section for detailed information on -configuring and compiling LLVM. Go to `Directory Layout`_ to learn about the +configuring and compiling LLVM. Go to `Directory Layout`_ to learn about the layout of the source code tree. Requirements @@ -147,18 +147,18 @@ #. To use LLVM modules on Win32-based system, you may configure LLVM with ``-DBUILD_SHARED_LIBS=On``. -Note that Debug builds require a lot of time and disk space. An LLVM-only build -will need about 1-3 GB of space. A full build of LLVM and Clang will need around -15-20 GB of disk space. The exact space requirements will vary by system. (It +Note that Debug builds require a lot of time and disk space. An LLVM-only build +will need about 1-3 GB of space. A full build of LLVM and Clang will need around +15-20 GB of disk space. The exact space requirements will vary by system. (It is so large because of all the debugging information and the fact that the libraries are statically linked into multiple tools). If you are space-constrained, you can build only selected tools or only -selected targets. The Release build requires considerably less space. +selected targets. The Release build requires considerably less space. The LLVM suite *may* compile on other platforms, but it is not guaranteed to do -so. If compilation is successful, the LLVM utilities should be able to -assemble, disassemble, analyze, and optimize LLVM bitcode. Code generation +so. If compilation is successful, the LLVM utilities should be able to +assemble, disassemble, analyze, and optimize LLVM bitcode. Code generation should work as well, although the generated native code may not work on your platform. @@ -254,17 +254,17 @@ **GNU ld 2.16.X**. Some 2.16.X versions of the ld linker will produce very long warning messages complaining that some "``.gnu.linkonce.t.*``" symbol was defined in a discarded section. You can safely ignore these messages as they are -erroneous and the linkage is correct. These messages disappear using ld 2.17. +erroneous and the linkage is correct. These messages disappear using ld 2.17. **GNU binutils 2.17**: Binutils 2.17 contains `a bug `__ which causes huge link -times (minutes instead of seconds) when building LLVM. We recommend upgrading +times (minutes instead of seconds) when building LLVM. We recommend upgrading to a newer version (2.17.50.0.4 or later). **GNU Binutils 2.19.1 Gold**: This version of Gold contained `a bug `__ which causes -intermittent failures when building LLVM with position independent code. The -symptom is an error about cyclic dependencies. We recommend upgrading to a +intermittent failures when building LLVM with position independent code. The +symptom is an error about cyclic dependencies. We recommend upgrading to a newer version of Gold. Getting a Modern Host C++ Toolchain @@ -350,8 +350,8 @@ This method will add an absolute path to the rpath of all executables. That's fine for local development. If you want to distribute the binaries you build so that they can run on older systems, copy ``libstdc++.so.6`` into the -``lib/`` directory. All of LLVM's shipping binaries have an rpath pointing at -``$ORIGIN/../lib``, so they will find ``libstdc++.so.6`` there. Non-distributed +``lib/`` directory. All of LLVM's shipping binaries have an rpath pointing at +``$ORIGIN/../lib``, so they will find ``libstdc++.so.6`` there. Non-distributed binaries don't have an rpath set and won't find ``libstdc++.so.6``. Pass ``-DLLVM_LOCAL_RPATH="$HOME/toolchains/lib64"`` to cmake to add an absolute path to ``libstdc++.so.6`` as above. Since these binaries are not distributed, @@ -383,10 +383,10 @@ ------------------------ Throughout this manual, the following names are used to denote paths specific to -the local system and working environment. *These are not environment variables -you need to set but just strings used in the rest of this document below*. In +the local system and working environment. *These are not environment variables +you need to set but just strings used in the rest of this document below*. In any of the examples below, simply replace each of these names with the -appropriate pathname on your local system. All these paths are absolute: +appropriate pathname on your local system. All these paths are absolute: ``SRC_ROOT`` @@ -395,14 +395,14 @@ ``OBJ_ROOT`` This is the top level directory of the LLVM object tree (i.e. the tree where - object files and compiled programs will be placed. It can be the same as + object files and compiled programs will be placed. It can be the same as SRC_ROOT). Unpacking the LLVM Archives --------------------------- If you have the LLVM distribution, you will need to unpack it before you can -begin to compile it. LLVM is distributed as a number of different +begin to compile it. LLVM is distributed as a number of different subprojects. Each one has its own download which is a TAR archive that is compressed with the gzip program. @@ -450,7 +450,7 @@ If you want to get a specific release (as opposed to the most recent revision), you can check out a tag after cloning the repository. E.g., `git checkout llvmorg-6.0.1` inside the ``llvm-project`` directory created by the above -command. Use `git tag -l` to list all of them. +command. Use `git tag -l` to list all of them. Sending patches ^^^^^^^^^^^^^^^ @@ -575,7 +575,7 @@ ------------------------ Once checked out repository, the LLVM suite source code must be configured -before being built. This process uses CMake. Unlinke the normal ``configure`` +before being built. This process uses CMake. Unlike the normal ``configure`` script, CMake generates the build files in whatever format you request as well as various ``*.inc`` files, and ``llvm/include/Config/config.h``. @@ -709,7 +709,7 @@ GCC that is known not to compile LLVM. If you have multiple processors in your machine, you may wish to use some of the -parallel build options provided by GNU Make. For example, you could use the +parallel build options provided by GNU Make. For example, you could use the command: .. code-block:: console @@ -721,7 +721,7 @@ ``make clean`` - Removes all files generated by the build. This includes object files, + Removes all files generated by the build. This includes object files, generated C/C++ files, libraries, and executables. ``make install`` @@ -813,7 +813,7 @@ % chmod u+x hello.bc (if needed) % ./hello.bc -This allows you to execute LLVM bitcode files directly. On Debian, you can also +This allows you to execute LLVM bitcode files directly. On Debian, you can also use this command instead of the 'echo' command above: .. code-block:: console @@ -828,7 +828,7 @@ One useful source of information about the LLVM source base is the LLVM `doxygen `_ documentation available at -``_. The following is a brief introduction to code +``_. The following is a brief introduction to code layout: ``llvm/cmake`` @@ -869,7 +869,7 @@ ``llvm/include/llvm`` - All LLVM-specific header files, and subdirectories for different portions of + All LLVM-specific header files, and subdirectories for different portions of LLVM: ``Analysis``, ``CodeGen``, ``Target``, ``Transforms``, etc... ``llvm/include/llvm/Support`` @@ -880,8 +880,8 @@ ``llvm/include/llvm/Config`` - Header files configured by ``cmake``. They wrap "standard" UNIX and - C header files. Source code can include these header files which + Header files configured by ``cmake``. They wrap "standard" UNIX and + C header files. Source code can include these header files which automatically take care of the conditional #includes that ``cmake`` generates. @@ -917,7 +917,7 @@ ``llvm/lib/Target/`` - Files describing target architectures for code generation. For example, + Files describing target architectures for code generation. For example, ``llvm/lib/Target/X86`` holds the X86 machine description. ``llvm/lib/CodeGen/`` @@ -965,7 +965,7 @@ -------------- A comprehensive correctness, performance, and benchmarking test suite -for LLVM. This comes in a ``separate git repository +for LLVM. This comes in a ``separate git repository ``, because it contains a large amount of third-party code under a variety of licenses. For details see the :doc:`Testing Guide ` document. @@ -976,9 +976,9 @@ -------------- 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 +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 the `Command Guide `_. ``bugpoint`` @@ -1024,11 +1024,11 @@ ``opt`` reads LLVM bitcode, applies a series of LLVM to LLVM transformations (which are specified on the command line), and outputs the resultant - bitcode. '``opt -help``' is a good way to get a list of the + bitcode. '``opt -help``' is a good way to get a list of the program transformations available in LLVM. - ``opt`` can also run a specific analysis on an input LLVM bitcode - file and print the results. 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`` @@ -1047,8 +1047,8 @@ ``emacs/`` - Emacs and XEmacs syntax highlighting for LLVM assembly files and TableGen - description files. See the ``README`` for information on using them. + Emacs and XEmacs syntax highlighting for LLVM assembly files and TableGen + description files. See the ``README`` for information on using them. ``getsrcs.sh`` @@ -1074,7 +1074,7 @@ ``vim/`` vim syntax-highlighting for LLVM assembly files - and TableGen description files. See the ``README`` for how to use them. + and TableGen description files. See the ``README`` for how to use them. .. _simple example: @@ -1105,7 +1105,7 @@ .. note:: - Clang works just like GCC by default. The standard -S and -c arguments + Clang works just like GCC by default. The standard -S and -c arguments work as usual (producing a native .s or .o file, respectively). #. Next, compile the C file into an LLVM bitcode file: @@ -1115,7 +1115,7 @@ % clang -O3 -emit-llvm hello.c -c -o hello.bc The -emit-llvm option can be used with the -S or -c options to emit an LLVM - ``.ll`` or ``.bc`` file (respectively) for the code. This allows you to use + ``.ll`` or ``.bc`` file (respectively) for the code. This allows you to use the `standard LLVM tools `_ on the bitcode file. #. Run the program in both forms. To run the program, use: @@ -1246,7 +1246,7 @@ This document is just an **introduction** on how to use LLVM to do some simple things... there are many more interesting and complicated things that you can do that aren't documented here (but we'll gladly accept a patch if you want to -write something up!). For more information about LLVM, check out: +write something up!). For more information about LLVM, check out: * `LLVM Homepage `_ * `LLVM Doxygen Tree `_ diff --git a/utils/bazel/terminfo.bzl b/utils/bazel/terminfo.bzl --- a/utils/bazel/terminfo.bzl +++ b/utils/bazel/terminfo.bzl @@ -101,7 +101,7 @@ cc = _find_c_compiler(repository_ctx) if not cc: if required: - fail("Failed to find a C compiler executable") + fail("Failed to find a C compiler executable") else: _llvm_terminfo_disable_impl(repository_ctx) return