ΒΆvoid ComputeCrossModuleImport(
    const llvm::ModuleSummaryIndex& Index,
    const StringMap<llvm::GVSummaryMapTy>&
        ModuleToDefinedGVSummaries,
    StringMap<FunctionImporter::ImportMapTy>&
        ImportLists,
    StringMap<FunctionImporter::ExportSetTy>&
        ExportLists)

Description

Compute all the imports and exports for every module in the Index. \p ModuleToDefinedGVSummaries contains for each Module a map (GUID -> Summary) for every global defined in the module. \p ImportLists will be populated with an entry for every Module we are importing into. This entry is itself a map that can be passed to FunctionImporter::importFunctions() above (see description there). \p ExportLists contains for each Module the set of globals (GUID) that will be imported by another module, or referenced by such a function. I.e. this is the set of globals that need to be promoted/renamed appropriately.

Declared at: llvm/include/llvm/Transforms/IPO/FunctionImport.h:140

Parameters

const llvm::ModuleSummaryIndex& Index
const StringMap<llvm::GVSummaryMapTy>& ModuleToDefinedGVSummaries
StringMap<FunctionImporter::ImportMapTy>& ImportLists
StringMap<FunctionImporter::ExportSetTy>& ExportLists