mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-27 18:57:42 +03:00
5f8b82805e
Various LTO cleanups * Move some special casing of thin local LTO into a single location. * Move lto_import_only_modules handling for fat LTO earlier. There is no reason to keep it separate until right before pass the LTO modules to the codegen backend. For thin LTO this introduces `ThinLtoInput` to correctly handle incr comp caching. * Remove the `Linker` type from cg_llvm. It previously helped deduplicate code for `-Zcombine-cgus`, but that flag no longer exists. Part of https://github.com/rust-lang/compiler-team/issues/908
The codegen crate contains the code to convert from MIR into LLVM IR,
and then from LLVM IR into machine code. In general it contains code
that runs towards the end of the compilation process.
For more information about how codegen works, see the rustc dev guide.