aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2020-12-10 14:16:45 -0800
committerDylan Baker <dylan@pnwbakers.com>2021-02-02 12:42:48 -0800
commit6f532b72c85e38880cf7953098bb91e8f3feb696 (patch)
treeb0bbd5e653904f54b03439e851a092763b4ef87f /docs
parentbffc94b08f713cc9916009575664b132aee76bcf (diff)
downloadmeson-6f532b72c85e38880cf7953098bb91e8f3feb696.zip
meson-6f532b72c85e38880cf7953098bb91e8f3feb696.tar.gz
meson-6f532b72c85e38880cf7953098bb91e8f3feb696.tar.bz2
Add support for LLVM's thinLTO
This uses a separate option, b_lto_mode. It works in conjunction with b_lto_threads. Fixes #7493
Diffstat (limited to 'docs')
-rw-r--r--docs/markdown/Builtin-options.md3
-rw-r--r--docs/markdown/snippets/lto_mode.md5
2 files changed, 8 insertions, 0 deletions
diff --git a/docs/markdown/Builtin-options.md b/docs/markdown/Builtin-options.md
index f57755c..2d7c01c 100644
--- a/docs/markdown/Builtin-options.md
+++ b/docs/markdown/Builtin-options.md
@@ -128,6 +128,7 @@ available on all platforms or with all compilers:
| b_lundef | true | true, false | Don't allow undefined symbols when linking |
| b_lto | false | true, false | Use link time optimization |
| b_lto_threads | 0 | Any integer* | Use multiple threads for lto. *(Added in 0.57.0)* |
+| b_lto_mode | default | default, thin | Select between lto modes, thin and default. *(Added in 0.57.0)* |
| b_ndebug | false | true, false, if-release | Disable asserts |
| b_pch | true | true, false | Use precompiled headers |
| b_pgo | off | off, generate, use | Use profile guided optimization |
@@ -141,6 +142,8 @@ The value of `b_sanitize` can be one of: `none`, `address`, `thread`,
* < 0 means disable, == 0 means automatic selection, > 0 sets a specific number to use
+LLVM supports `thin` lto, for more discussion see [LLVM's documentation](https://clang.llvm.org/docs/ThinLTO.html)
+
<a name="b_vscrt-from_buildtype"></a>
The default value of `b_vscrt` is `from_buildtype`. The following table is
used internally to pick the CRT compiler arguments for `from_buildtype` or
diff --git a/docs/markdown/snippets/lto_mode.md b/docs/markdown/snippets/lto_mode.md
new file mode 100644
index 0000000..c1df066
--- /dev/null
+++ b/docs/markdown/snippets/lto_mode.md
@@ -0,0 +1,5 @@
+## Support added for LLVM's thinLTO
+
+A new `b_lto_mode` option has been added, which may be set to `default` or
+`thin`. Thin only works for clang, and only with gnu gold, lld variants, or
+ld64.