fn fat_lto(
    cgcx: &CodegenContext<LlvmCodegenBackend>,
    dcx: &DiagCtxt,
    modules: Vec<FatLtoInput<LlvmCodegenBackend>>,
    cached_modules: Vec<(SerializedModule<ModuleBuffer>, WorkProduct)>,
    serialized_modules: Vec<(SerializedModule<ModuleBuffer>, CString)>,
    symbols_below_threshold: &[*const c_char]
) -> Result<LtoModuleCodegen<LlvmCodegenBackend>, FatalError>