ΒΆvoid ComputeCrossModuleImport(
const llvm::ModuleSummaryIndex& Index,
const StringMap<llvm::GVSummaryMapTy>&
ModuleToDefinedGVSummaries,
StringMap<FunctionImporter::ImportMapTy>&
ImportLists,
StringMap<FunctionImporter::ExportSetTy>&
ExportLists)
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