1
Fork 0

Rollup merge of #84365 - vext01:improve-lto-docstrings, r=petrochenkov

Improve the docstrings of the `Lto` struct.

This change is the result of [this zulip discussion](https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/Making.20sense.20of.20LTO.20modes.20in.20rustc).

Hopefully it makes things a little clearer. What do you think?
This commit is contained in:
Mara Bos 2021-04-21 23:06:17 +02:00 committed by GitHub
commit 6967b68667
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -75,19 +75,21 @@ impl_stable_hash_via_hash!(OptLevel);
/// This is what the `LtoCli` values get mapped to after resolving defaults and /// This is what the `LtoCli` values get mapped to after resolving defaults and
/// and taking other command line options into account. /// and taking other command line options into account.
///
/// Note that linker plugin-based LTO is a different mechanism entirely.
#[derive(Clone, PartialEq)] #[derive(Clone, PartialEq)]
pub enum Lto { pub enum Lto {
/// Don't do any LTO whatsoever /// Don't do any LTO whatsoever.
No, No,
/// Do a full crate graph LTO with ThinLTO /// Do a full-crate-graph (inter-crate) LTO with ThinLTO.
Thin, Thin,
/// Do a local graph LTO with ThinLTO (only relevant for multiple codegen /// Do a local ThinLTO (intra-crate, over the CodeGen Units of the local crate only). This is
/// units). /// only relevant if multiple CGUs are used.
ThinLocal, ThinLocal,
/// Do a full crate graph LTO with "fat" LTO /// Do a full-crate-graph (inter-crate) LTO with "fat" LTO.
Fat, Fat,
} }