[llvm] [DOC][DTLTO] Update DTLTO documentation for the LLVM 22 release (PR #177368)

Ben Dunbobbin via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 22 06:24:38 PST 2026


https://github.com/bd1976bris created https://github.com/llvm/llvm-project/pull/177368

This change updates the documentation to reflect work completed during the LLVM 22 timeframe, including support for the ThinLTO cache and static libraries and archives.

It also clarifies that the goal of DTLTO is to support distribution of ThinLTO backend compilations for any in-process ThinLTO invocation.

SIE Internal Tracker: TOOLCHAIN-21016

>From 1644c7bd6531d2897965cb479b9c5ffd15b1899a Mon Sep 17 00:00:00 2001
From: Ben <ben.dunbobbin at sony.com>
Date: Thu, 22 Jan 2026 14:17:57 +0000
Subject: [PATCH] [DOC][DTLTO] Update DTLTO documentation for the LLVM 22
 release

This change updates the documentation to reflect work completed during
the LLVM 22 timeframe, including support for the ThinLTO cache and
static libraries and archives.

It also clarifies that the goal of DTLTO is to support distribution of
ThinLTO backend compilations for any in-process ThinLTO invocation.

SIE Internal Tracker: TOOLCHAIN-21016
---
 llvm/docs/DTLTO.rst | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/llvm/docs/DTLTO.rst b/llvm/docs/DTLTO.rst
index 70e26efed897e..04cb4935952c7 100644
--- a/llvm/docs/DTLTO.rst
+++ b/llvm/docs/DTLTO.rst
@@ -11,7 +11,7 @@ DTLTO
 Distributed ThinLTO (DTLTO)
 ===========================
 
-Distributed ThinLTO (DTLTO) enables the distribution of backend ThinLTO
+Distributed ThinLTO (DTLTO) enables the distribution of ThinLTO backend
 compilations via external distribution systems, such as Incredibuild, during the
 link step.
 
@@ -24,7 +24,11 @@ here:
 Using the *separate thin-link* approach requires a build system capable of
 handling the dynamic dependencies specified in the individual summary index
 files, such as Bazel. DTLTO removes this requirement, allowing it to be used
-with any build process that supports in-process ThinLTO.
+with any build process that supports in-process ThinLTO. Note that, to
+facilitate this, DTLTO aims to support all in-process ThinLTO features, such as
+caching (for incremental builds), and aims to support all linker input file
+types, including static libraries/archives (e.g. libc.a), rather than being
+limited to plain bitcode files.
 
 The following commands show the steps used for the *separate thin-link*
 approach for a basic example:
@@ -66,7 +70,7 @@ such as the following can be used:
 
 .. code-block:: console
 
-   clang -flto=thin -fuse-ld=lld -O2 t1.o t2.o -fthinlto-distributor=$(which python3) \
+   clang -flto=thin -fuse-ld=lld -O2 t1.o t2.o libt3.a -fthinlto-distributor=$(which python3) \
      -Xthinlto-distributor=$LLVMSRC/llvm/utils/dtlto/local.py
 
 Distributors
@@ -170,9 +174,7 @@ TODOs
 
 The following features are planned for DTLTO but not yet implemented:
 
-- Support for the ThinLTO in-process cache.
 - Support for platforms other than ELF and COFF.
-- Support for archives with bitcode members.
 - Support for more LTO configurations; only a very limited set of LTO
   configurations is supported currently, e.g., support for basic block sections
   is not currently available.
@@ -183,4 +185,3 @@ Constraints
 - Matching versions of Clang and LLD should be used.
 - The distributor used must support the JSON schema generated by the version of
   LLD in use.
-



More information about the llvm-commits mailing list