Module lto

Source

Structs§

Linker πŸ”’
ModuleBuffer
ThinBuffer
ThinData
ThinLTOKeysMap πŸ”’
Maps LLVM module identifiers to their corresponding LLVM LTO cache keys

Constants§

THIN_LTO_KEYS_INCR_COMP_FILE_NAME πŸ”’
We keep track of the computed LTO cache keys from the previous session to determine which CGUs we can reuse.

Functions§

crate_type_allows_lto πŸ”’
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.