Lines Matching refs:Index
118 const ModuleSummaryIndex &Index,
124 for (auto &I : Index) {
142 static void promoteModule(Module &TheModule, const ModuleSummaryIndex &Index) {
143 if (renameModuleForThinLTO(TheModule, Index))
148 crossImportIntoModule(Module &TheModule, const ModuleSummaryIndex &Index,
152 FunctionImporter Importer(Index, Loader);
227 StringRef CachePath, const ModuleSummaryIndex &Index, StringRef ModuleID,
250 auto ModHash = Index.getModuleHash(ModuleID);
258 auto ModHash = Index.getModuleHash(Entry.first());
331 ProcessThinLTOModule(Module &TheModule, ModuleSummaryIndex &Index,
345 promoteModule(TheModule, Index);
365 crossImportIntoModule(TheModule, Index, ModuleMap, ImportList);
390 /// for caching, and in the \p Index for application during the ThinLTO
395 ModuleSummaryIndex &Index,
400 computePrevailingCopies(Index, PrevailingCopy);
416 thinLTOResolveWeakForLinkerInIndex(Index, isPrevailing, recordNewLinkage);
486 * Produce the combined summary index from all the bitcode files:
502 auto Index = (*ObjOrErr)->takeIndex();
504 CombinedIndex->mergeFrom(std::move(Index), ++NextModuleId);
506 CombinedIndex = std::move(Index);
514 * Index is updated to reflect linkage changes from weak resolution.
517 ModuleSummaryIndex &Index) {
518 auto ModuleCount = Index.modulePaths().size();
522 Index.collectDefinedGVSummariesPerModule(ModuleToDefinedGVSummaries);
527 ComputeCrossModuleImport(Index, ModuleToDefinedGVSummaries, ImportLists,
532 resolveWeakForLinkerInIndex(Index, ResolvedODR);
537 promoteModule(TheModule, Index);
544 ModuleSummaryIndex &Index) {
546 auto ModuleCount = Index.modulePaths().size();
550 Index.collectDefinedGVSummariesPerModule(ModuleToDefinedGVSummaries);
555 ComputeCrossModuleImport(Index, ModuleToDefinedGVSummaries, ImportLists,
559 crossImportIntoModule(TheModule, Index, ModuleMap, ImportList);
566 StringRef ModulePath, ModuleSummaryIndex &Index,
568 auto ModuleCount = Index.modulePaths().size();
572 Index.collectDefinedGVSummariesPerModule(ModuleToDefinedGVSummaries);
577 ComputeCrossModuleImport(Index, ModuleToDefinedGVSummaries, ImportLists,
590 ModuleSummaryIndex &Index) {
591 auto ModuleCount = Index.modulePaths().size();
595 Index.collectDefinedGVSummariesPerModule(ModuleToDefinedGVSummaries);
600 ComputeCrossModuleImport(Index, ModuleToDefinedGVSummaries, ImportLists,
610 * Perform internalization. Index is updated to reflect linkage changes.
613 ModuleSummaryIndex &Index) {
615 auto ModuleCount = Index.modulePaths().size();
624 Index.collectDefinedGVSummariesPerModule(ModuleToDefinedGVSummaries);
629 ComputeCrossModuleImport(Index, ModuleToDefinedGVSummaries, ImportLists,
645 thinLTOInternalizeAndPromoteInIndex(Index, isExported);
693 auto Index = linkCombinedIndex();
695 // Save temps: index.
697 auto SaveTempPath = SaveTempsDir + "index.bc";
703 WriteIndexToFile(*Index, OS);
716 Index->collectDefinedGVSummariesPerModule(ModuleToDefinedGVSummaries);
719 // combined index.
722 ComputeCrossModuleImport(*Index, ModuleToDefinedGVSummaries, ImportLists,
733 // on the index, and nuke this map.
738 resolveWeakForLinkerInIndex(*Index, ResolvedODR);
749 // Changes are made in the index, consumed in the ThinLTO backends.
750 thinLTOInternalizeAndPromoteInIndex(*Index, isExported);
784 ModuleCacheEntry CacheEntry(CacheOptions.Path, *Index, ModuleIdentifier,
815 *TheModule, *Index, ModuleMap, *TMBuilder.create(), ImportList,