This commit primarily adds the ability to control what kind of LTO happens when rustc performs LTO, namely allowing values to be specified to the `-C lto` option, such as `-C lto=thin` and `-C lto=fat`. (where "fat" is the previous kind of LTO, throw everything in one giant module) Along the way this also refactors a number of fields which store information about whether LTO/ThinLTO are enabled to unify them all into one field through which everything is dispatched, hopefully removing a number of special cases throughout. This is intended to help mitigate #47409 but will require a backport as well, and this would unfortunately need to be an otherwise insta-stable option. |
||
|---|---|---|
| .. | ||
| auxiliary | ||
| all-crates.rs | ||
| dylib-works.rs | ||
| msvc-imp-present.rs | ||
| thin-lto-inlines.rs | ||
| thin-lto-inlines2.rs | ||
| weak-works.rs | ||