Skip to content

Commit

Permalink
Clarify lto setting passing -Clinker-plugin-lto
Browse files Browse the repository at this point in the history
Previously this document implied that the `lto` setting only controlled
`-C lto` but in some cases it can also pass `-C linker-plugin-lto`

https://github.com/rust-lang/cargo/blob/1b3eb297f946779b1ede257074afff62d854ff79/src/cargo/core/compiler/mod.rs#L1234
  • Loading branch information
keith committed Jul 27, 2023
1 parent 1b3eb29 commit 38d9265
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions src/doc/src/reference/profiles.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,9 +155,10 @@ The valid options are:

#### lto

The `lto` setting controls the [`-C lto` flag] which controls LLVM's [link
time optimizations]. LTO can produce better optimized code, using
whole-program analysis, at the cost of longer linking time.
The `lto` setting controls `rustc`'s [`-C lto`], [`-C linker-plugin-lto`], and
[`-C embed-bitcode`] options, which control LLVM's [link time optimizations].
LTO can produce better optimized code, using whole-program analysis, at the cost
of longer linking time.

The valid options are:

Expand All @@ -171,11 +172,15 @@ The valid options are:
similar to "fat".
* `"off"`: Disables LTO.

See also the [`-C linker-plugin-lto`] `rustc` flag for cross-language LTO.
See the [linker-plugin-lto chapter] if you are interested in cross-language LTO.
This is not yet supported natively in Cargo, but can be performed via
`RUSTFLAGS`.

[`-C lto` flag]: ../../rustc/codegen-options/index.html#lto
[`-C lto`]: ../../rustc/codegen-options/index.html#lto
[link time optimizations]: https://llvm.org/docs/LinkTimeOptimization.html
[`-C linker-plugin-lto`]: ../../rustc/codegen-options/index.html#linker-plugin-lto
[`-C embed-bitcode`]: ../../rustc/codegen-options/index.html#embed-bitcode
[linker-plugin-lto chapter]: ../../rustc/linker-plugin-lto.html
["thin" LTO]: http://blog.llvm.org/2016/06/thinlto-scalable-and-incremental-lto.html

#### panic
Expand Down

0 comments on commit 38d9265

Please sign in to comment.