Maps LLVM module identifiers to their corresponding LLVM LTO cache keys
We keep track of the computed LTO cache keys from the previous session to determine which CGUs we can reuse.
Performs fat LTO by merging all modules into a single one and returning it for further optimization.
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.
Prepare “thin” LTO to get run on these modules.