aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown
diff options
context:
space:
mode:
Diffstat (limited to 'docs/markdown')
-rw-r--r--docs/markdown/Builtin-options.md36
-rw-r--r--docs/markdown/snippets/thinlto_cache.md8
2 files changed, 27 insertions, 17 deletions
diff --git a/docs/markdown/Builtin-options.md b/docs/markdown/Builtin-options.md
index d90631f..64f5fbf 100644
--- a/docs/markdown/Builtin-options.md
+++ b/docs/markdown/Builtin-options.md
@@ -121,23 +121,25 @@ no options.
The following options are available. Note that they may not be
available on all platforms or with all compilers:
-| Option | Default value | Possible values | Description |
-|---------------|----------------|------------------------------------------------------------------|-------------------------------------------------------------------------------|
-| b_asneeded | true | true, false | Use -Wl,--as-needed when linking |
-| b_bitcode | false | true, false | Embed Apple bitcode, see below |
-| b_colorout | always | auto, always, never | Use colored output |
-| b_coverage | false | true, false | Enable coverage tracking |
-| 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 |
-| b_sanitize | none | see below | Code sanitizer to use |
-| b_staticpic | true | true, false | Build static libraries as position independent |
-| b_pie | false | true, false | Build position-independent executables (since 0.49.0) |
-| b_vscrt | from_buildtype | none, md, mdd, mt, mtd, from_buildtype, static_from_buildtype | VS runtime library to use (since 0.48.0) (static_from_buildtype since 0.56.0) |
+| Option | Default value | Possible values | Description |
+|---------------------|----------------------|---------------------------------------------------------------|--------------------------------------------------------------------------------|
+| b_asneeded | true | true, false | Use -Wl,--as-needed when linking |
+| b_bitcode | false | true, false | Embed Apple bitcode, see below |
+| b_colorout | always | auto, always, never | Use colored output |
+| b_coverage | false | true, false | Enable coverage tracking |
+| 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_thinlto_cache | false | true, false | Enable LLVM's ThinLTO cache for faster incremental builds. *(Added in 0.64.0)* |
+| b_thinlto_cache_dir | (Internal build dir) | true, false | Specify where to store ThinLTO cache objects. *(Added in 0.64.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 |
+| b_sanitize | none | see below | Code sanitizer to use |
+| b_staticpic | true | true, false | Build static libraries as position independent |
+| b_pie | false | true, false | Build position-independent executables (since 0.49.0) |
+| b_vscrt | from_buildtype | none, md, mdd, mt, mtd, from_buildtype, static_from_buildtype | VS runtime library to use (since 0.48.0) (static_from_buildtype since 0.56.0) |
The value of `b_sanitize` can be one of: `none`, `address`, `thread`,
`undefined`, `memory`, `leak`, `address,undefined`, but note that some
diff --git a/docs/markdown/snippets/thinlto_cache.md b/docs/markdown/snippets/thinlto_cache.md
new file mode 100644
index 0000000..5c6e202
--- /dev/null
+++ b/docs/markdown/snippets/thinlto_cache.md
@@ -0,0 +1,8 @@
+## Incremental ThinLTO with `b_thinlto_cache`
+
+[Incremental ThinLTO](https://clang.llvm.org/docs/ThinLTO.html#incremental) can now be enabled by passing
+`-Db_thinlto_cache=true` during setup. The use of caching speeds up incremental builds significantly while retaining all
+the runtime performance benefits of ThinLTO.
+
+The cache location defaults to a Meson-managed directory inside the build folder, but can be customized with
+`b_thinlto_cache_dir`.