[−][src]Module rustc_codegen_llvm::back::lto

Structs

Linker
ModuleBuffer
ThinBuffer
ThinData
ThinLTOImportMaps

Summarizes module import/export relationships used by LLVM's ThinLTO pass.

Constants

THIN_LTO_IMPORTS_INCR_COMP_FILE_NAME

We keep track of past LTO imports that were used to produce the current set of compiled object files that we might choose to reuse during this compilation session.

Functions

crate_type_allows_lto
equivalent_as_sets

Given two slices, each with no repeat elements. returns true if and only if the two slices have the same contents when considered as sets (i.e. when element order is disregarded).

fat_lto
get_bitcode_slice_from_object_data
module_name_to_str
optimize_thin_module⚠
parse_module
prepare_lto
prepare_thin
run_fat

Performs fat LTO by merging all modules into a single one and returning it for further optimization.

run_pass_manager
run_thin

Performs thin LTO by performing necessary global analysis and returning two lists, one of the modules that need optimization and another for modules that can simply be copied over from the incr. comp. cache.

thin_lto

Prepare "thin" LTO to get run on these modules.