forked from OSchip/llvm-project
parent
2a0932fb45
commit
3255eec16c
|
@ -138,8 +138,8 @@ using EdgeInfo = std::pair<const FunctionSummary *, unsigned /* Threshold */>;
|
||||||
/// imported functions and the symbols they reference in their source module as
|
/// imported functions and the symbols they reference in their source module as
|
||||||
/// exported from their source module.
|
/// exported from their source module.
|
||||||
static void computeImportForFunction(
|
static void computeImportForFunction(
|
||||||
StringRef ModulePath, const FunctionSummary &Summary,
|
const FunctionSummary &Summary, const ModuleSummaryIndex &Index,
|
||||||
const ModuleSummaryIndex &Index, unsigned Threshold,
|
unsigned Threshold,
|
||||||
const std::map<GlobalValue::GUID, FunctionSummary *> &DefinedFunctions,
|
const std::map<GlobalValue::GUID, FunctionSummary *> &DefinedFunctions,
|
||||||
SmallVectorImpl<EdgeInfo> &Worklist,
|
SmallVectorImpl<EdgeInfo> &Worklist,
|
||||||
FunctionImporter::ImportMapTy &ImportsForModule,
|
FunctionImporter::ImportMapTy &ImportsForModule,
|
||||||
|
@ -199,7 +199,6 @@ static void computeImportForFunction(
|
||||||
/// as well as the list of "exports", i.e. the list of symbols referenced from
|
/// as well as the list of "exports", i.e. the list of symbols referenced from
|
||||||
/// another module (that may require promotion).
|
/// another module (that may require promotion).
|
||||||
static void ComputeImportForModule(
|
static void ComputeImportForModule(
|
||||||
StringRef ModulePath,
|
|
||||||
const std::map<GlobalValue::GUID, FunctionSummary *> &DefinedFunctions,
|
const std::map<GlobalValue::GUID, FunctionSummary *> &DefinedFunctions,
|
||||||
const ModuleSummaryIndex &Index,
|
const ModuleSummaryIndex &Index,
|
||||||
FunctionImporter::ImportMapTy &ImportsForModule,
|
FunctionImporter::ImportMapTy &ImportsForModule,
|
||||||
|
@ -213,7 +212,7 @@ static void ComputeImportForModule(
|
||||||
for (auto &FuncInfo : DefinedFunctions) {
|
for (auto &FuncInfo : DefinedFunctions) {
|
||||||
auto *Summary = FuncInfo.second;
|
auto *Summary = FuncInfo.second;
|
||||||
DEBUG(dbgs() << "Initalize import for " << FuncInfo.first << "\n");
|
DEBUG(dbgs() << "Initalize import for " << FuncInfo.first << "\n");
|
||||||
computeImportForFunction(ModulePath, *Summary, Index, ImportInstrLimit,
|
computeImportForFunction(*Summary, Index, ImportInstrLimit,
|
||||||
DefinedFunctions, Worklist, ImportsForModule,
|
DefinedFunctions, Worklist, ImportsForModule,
|
||||||
ExportLists);
|
ExportLists);
|
||||||
}
|
}
|
||||||
|
@ -227,9 +226,8 @@ static void ComputeImportForModule(
|
||||||
// Adjust the threshold
|
// Adjust the threshold
|
||||||
Threshold = Threshold * ImportInstrFactor;
|
Threshold = Threshold * ImportInstrFactor;
|
||||||
|
|
||||||
computeImportForFunction(ModulePath, *Summary, Index, Threshold,
|
computeImportForFunction(*Summary, Index, Threshold, DefinedFunctions,
|
||||||
DefinedFunctions, Worklist, ImportsForModule,
|
Worklist, ImportsForModule, ExportLists);
|
||||||
ExportLists);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -265,8 +263,8 @@ void llvm::ComputeCrossModuleImport(
|
||||||
auto &ImportsForModule = ImportLists[DefinedFunctions.first()];
|
auto &ImportsForModule = ImportLists[DefinedFunctions.first()];
|
||||||
DEBUG(dbgs() << "Computing import for Module '" << DefinedFunctions.first()
|
DEBUG(dbgs() << "Computing import for Module '" << DefinedFunctions.first()
|
||||||
<< "'\n");
|
<< "'\n");
|
||||||
ComputeImportForModule(DefinedFunctions.first(), DefinedFunctions.second,
|
ComputeImportForModule(DefinedFunctions.second, Index, ImportsForModule,
|
||||||
Index, ImportsForModule, ExportLists);
|
ExportLists);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
|
|
Loading…
Reference in New Issue