[docs] Add ThinLTO user documentation
Summary: Add some user facing documentation on ThinLTO and how to use it.
Reviewers: mehdi_amini
Subscribers: mehdi_amini, cfe-commits
Differential Revision: https://reviews.llvm.org/D24806
llvm-svn: 282089
diff --git a/clang/docs/CommandGuide/clang.rst b/clang/docs/CommandGuide/clang.rst
index 1c47db7..f600315 100644
--- a/clang/docs/CommandGuide/clang.rst
+++ b/clang/docs/CommandGuide/clang.rst
@@ -328,13 +328,19 @@
model can be overridden with the tls_model attribute. The compiler will try
to choose a more efficient model if possible.
-.. option:: -flto, -emit-llvm
+.. option:: -flto[=full,thin], -emit-llvm
Generate output files in LLVM formats, suitable for link time optimization.
When used with :option:`-S` this generates LLVM intermediate language
assembly files, otherwise this generates LLVM bitcode format object files
(which may be passed to the linker depending on the stage selection options).
+ The default for :option:`-flto` is :option:`-flto=full`, in which the
+ LLVM bitcode is suitable for monolithic Link Time Optimization (LTO), where
+ the linker merges all such modules into a single combined module for
+ optimization. With :option:`-flto=thin`, :doc:`ThinLTO <../ThinLTO>`
+ compilation is invoked instead.
+
Driver Options
~~~~~~~~~~~~~~