[llvm] [llvm] Proofread BuildingADistribution.rst (PR #155978)

Kazu Hirata via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 28 22:19:30 PDT 2025


https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/155978

None

>From e72dba596d680be2baab3d55a1b579f567a3fe09 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Thu, 28 Aug 2025 08:15:12 -0700
Subject: [PATCH] [llvm] Proofread BuildingADistribution.rst

---
 llvm/docs/BuildingADistribution.rst | 34 ++++++++++++++---------------
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/llvm/docs/BuildingADistribution.rst b/llvm/docs/BuildingADistribution.rst
index d2f81f6fc3d22..10e571cdea3f9 100644
--- a/llvm/docs/BuildingADistribution.rst
+++ b/llvm/docs/BuildingADistribution.rst
@@ -9,7 +9,7 @@ Introduction
 ============
 
 This document is geared toward people who want to build and package LLVM and any
-combination of LLVM sub-project tools for distribution. This document covers
+combination of its sub-project tools for distribution. This document covers
 useful features of the LLVM build system as well as best practices and general
 information about packaging LLVM.
 
@@ -20,7 +20,7 @@ workings of the builds described in the :doc:`AdvancedBuilds` document.
 General Distribution Guidance
 =============================
 
-When building a distribution of a compiler it is generally advised to perform a
+When building a distribution of a compiler, it is generally advised to perform a
 bootstrap build of the compiler. That means building a "stage 1" compiler with
 your host toolchain, then building the "stage 2" compiler using the "stage 1"
 compiler. This is done so that the compiler you distribute benefits from all the
@@ -57,7 +57,7 @@ at process launch time, which can be very slow for C++ code.
 
 The simplest example of building a distribution with reasonable performance is
 captured in the DistributionExample CMake cache file located at
-clang/cmake/caches/DistributionExample.cmake. The following command will perform
+``clang/cmake/caches/DistributionExample.cmake``. The following commands will perform
 and install the distribution build:
 
 .. code-block:: console
@@ -69,7 +69,7 @@ and install the distribution build:
 Difference between ``install`` and ``install-distribution``
 -----------------------------------------------------------
 
-One subtle but important thing to note is the difference between the ``install``
+One subtle but important difference to note is between the ``install``
 and ``install-distribution`` targets. The ``install`` target is expected to
 install every part of LLVM that your build is configured to generate except the
 LLVM testing tools. Alternatively the ``install-distribution`` target, which is
@@ -137,7 +137,7 @@ Special Notes for Library-only Distributions
 
 One of the most powerful features of LLVM is its library-first design mentality
 and the way you can compose a wide variety of tools using different portions of
-LLVM. Even in this situation using *BUILD_SHARED_LIBS* is not supported. If you
+LLVM. Even in this situation, using *BUILD_SHARED_LIBS* is not supported. If you
 want to distribute LLVM as a shared library for use in a tool, the recommended
 method is using *LLVM_BUILD_LLVM_DYLIB*, and you can use *LLVM_DYLIB_COMPONENTS*
 to configure which LLVM components are part of libLLVM.
@@ -147,7 +147,7 @@ Options for Optimizing LLVM
 ===========================
 
 There are four main build optimizations that our CMake build system supports.
-When performing a bootstrap build it is not beneficial to do anything other than
+When performing a bootstrap build, it is not beneficial to do anything other than
 setting *CMAKE_BUILD_TYPE* to ``Release`` for the stage-1 compiler. This is
 because the more intensive optimizations are expensive to perform and the
 stage-1 compiler is thrown away. All of the further options described should be
@@ -162,7 +162,7 @@ debug information and use ``-O3`` you can override the
 *CMAKE_<LANG>_FLAGS_RELWITHDEBINFO* option for C and CXX.
 DistributionExample.cmake does this.
 
-Another easy to use option is Link-Time-Optimization. You can set the
+Another easy-to-use option is Link-Time-Optimization. You can set the
 *LLVM_ENABLE_LTO* option on your stage-2 build to ``Thin`` or ``Full`` to enable
 building LLVM with LTO. These options will significantly increase link time of
 the binaries in the distribution, but it will create much faster binaries. This
@@ -175,7 +175,7 @@ in-tree profiling tests are very limited, and generating the profile takes a
 significant amount of time, but it can result in a significant improvement in
 the performance of the generated binaries.
 
-In addition to PGO profiling we also have limited support in-tree for generating
+In addition to PGO profiling, we also have limited in-tree support for generating
 linker order files. These files provide the linker with a suggested ordering for
 functions in the final binary layout. This can measurably speed up clang by
 physically grouping functions that are called temporally close to each other.
@@ -187,7 +187,7 @@ Options for Reducing Size
 =========================
 
 .. warning::
-  Any steps taken to reduce the binary size will come at a cost of runtime
+  Any steps taken to reduce binary size will come at the cost of runtime
   performance in the generated binaries.
 
 The simplest and least significant way to reduce binary size is to set the
@@ -197,7 +197,7 @@ both the least benefit to size and the least impact on performance.
 
 The most impactful way to reduce binary size is to dynamically link LLVM into
 all the tools. This reduces code size by decreasing duplication of common code
-between the LLVM-based tools. This can be done by setting the following two
+among the LLVM-based tools. This can be done by setting the following two
 CMake options to ``On``: *LLVM_BUILD_LLVM_DYLIB* and *LLVM_LINK_LLVM_DYLIB*.
 
 .. warning::
@@ -214,35 +214,35 @@ that are already documented include: *LLVM_TARGETS_TO_BUILD*, *LLVM_ENABLE_PROJE
 *LLVM_ENABLE_RUNTIMES*, *LLVM_BUILD_LLVM_DYLIB*, and *LLVM_LINK_LLVM_DYLIB*.
 
 **LLVM_ENABLE_RUNTIMES**:STRING
-  When building a distribution that includes LLVM runtime projects (i.e. libcxx,
+  When building a distribution that includes LLVM runtime projects (i.e., libcxx,
   compiler-rt, libcxxabi, libunwind...), it is important to build those projects
   with the just-built compiler.
 
 **LLVM_DISTRIBUTION_COMPONENTS**:STRING
-  This variable can be set to a semi-colon separated list of LLVM build system
+  This variable can be set to a semicolon-separated list of LLVM build system
   components to install. All LLVM-based tools are components, as well as most
   of the libraries and runtimes. Component names match the names of the build
   system targets.
 
 **LLVM_DISTRIBUTIONS**:STRING
-  This variable can be set to a semi-colon separated list of distributions. See
+  This variable can be set to a semicolon-separated list of distributions. See
   the :ref:`Multi-distribution configurations` section above for details on this
   and other CMake variables to configure multiple distributions.
 
 **LLVM_RUNTIME_DISTRIBUTION_COMPONENTS**:STRING
-  This variable can be set to a semi-colon separated list of runtime library
+  This variable can be set to a semicolon-separated list of runtime library
   components. This is used in conjunction with *LLVM_ENABLE_RUNTIMES* to specify
   components of runtime libraries that you want to include in your distribution.
   Just like with *LLVM_DISTRIBUTION_COMPONENTS*, component names match the names
   of the build system targets.
 
 **LLVM_DYLIB_COMPONENTS**:STRING
-  This variable can be set to a semi-colon separated name of LLVM library
+  This variable can be set to a semicolon-separated name of LLVM library
   components. LLVM library components are either library names with the LLVM
-  prefix removed (i.e. Support, Demangle...), LLVM target names, or special
+  prefix removed (i.e., Support, Demangle...), LLVM target names, or special
   purpose component names. The special purpose component names are:
 
-  #. ``all`` - All LLVM available component libraries
+  #. ``all`` - All available LLVM component libraries
   #. ``Native`` - The LLVM target for the Native system
   #. ``AllTargetsAsmParsers`` - All the included target ASM parsers libraries
   #. ``AllTargetsDescs`` - All the included target descriptions libraries



More information about the llvm-commits mailing list