Lines Matching refs:Mod
233 static void runNewPMPasses(const Config &Conf, Module &Mod, TargetMachine *TM,
268 StandardInstrumentations SI(Mod.getContext(), Conf.DebugPassManager,
338 MPM.run(Mod, MAM);
341 bool lto::opt(const Config &Conf, TargetMachine *TM, unsigned Task, Module &Mod,
358 llvm::embedBitcodeInModule(Mod, llvm::MemoryBufferRef(),
363 runNewPMPasses(Conf, Mod, TM, Conf.OptLevel, IsThinLTO, ExportSummary,
365 return !Conf.PostOptModuleHook || Conf.PostOptModuleHook(Task, Mod);
369 AddStreamFn AddStream, unsigned Task, Module &Mod,
371 if (Conf.PreCodeGenModuleHook && !Conf.PreCodeGenModuleHook(Task, Mod))
375 llvm::embedBitcodeInModule(Mod, llvm::MemoryBufferRef(),
403 AddStream(Task, Mod.getModuleIdentifier());
410 TargetLibraryInfoImpl TLII(Triple(Mod.getTargetTriple()));
420 CodeGenPasses.run(Mod);
428 unsigned ParallelCodeGenParallelismLevel, Module &Mod,
469 if (!TM->splitModule(Mod, ParallelCodeGenParallelismLevel,
471 SplitModule(Mod, ParallelCodeGenParallelismLevel, HandleModulePartition,
482 Module &Mod) {
484 Mod.setTargetTriple(C.OverrideTriple);
485 else if (Mod.getTargetTriple().empty())
486 Mod.setTargetTriple(C.DefaultTriple);
489 const Target *T = TargetRegistry::lookupTarget(Mod.getTargetTriple(), Msg);
507 unsigned ParallelCodeGenParallelismLevel, Module &Mod,
509 Expected<const Target *> TOrErr = initAndLookupTarget(C, Mod);
513 std::unique_ptr<TargetMachine> TM = createTargetMachine(C, *TOrErr, Mod);
517 if (!opt(C, TM.get(), 0, Mod, /*IsThinLTO=*/false,
524 codegen(C, TM.get(), AddStream, 0, Mod, CombinedIndex);
526 splitCodeGen(C, TM.get(), AddStream, ParallelCodeGenParallelismLevel, Mod,
532 static void dropDeadSymbols(Module &Mod, const GVSummaryMapTy &DefinedGlobals,
535 for (auto &GV : Mod.global_values())
554 Module &Mod, const ModuleSummaryIndex &CombinedIndex,
559 Expected<const Target *> TOrErr = initAndLookupTarget(Conf, Mod);
563 std::unique_ptr<TargetMachine> TM = createTargetMachine(Conf, *TOrErr, Mod);
567 Mod.getContext(), Conf.RemarksFilename, Conf.RemarksPasses,
576 Mod.setPartialSampleProfileRatio(CombinedIndex);
580 codegen(Conf, TM.get(), AddStream, Task, Mod, CombinedIndex);
584 if (Conf.PreOptModuleHook && !Conf.PreOptModuleHook(Task, Mod))
588 [&](Module &Mod, TargetMachine *TM,
590 if (!opt(Conf, TM, Task, Mod, /*IsThinLTO=*/true,
595 codegen(Conf, TM, AddStream, Task, Mod, CombinedIndex);
600 return OptimizeAndCodegen(Mod, TM.get(), std::move(DiagnosticOutputFile));
607 Mod.getPIELevel() == PIELevel::Default;
608 renameModuleForThinLTO(Mod, CombinedIndex, ClearDSOLocalOnDeclarations);
610 dropDeadSymbols(Mod, DefinedGlobals, CombinedIndex);
612 thinLTOFinalizeInModule(Mod, DefinedGlobals, /*PropagateAttrs=*/true);
614 if (Conf.PostPromoteModuleHook && !Conf.PostPromoteModuleHook(Task, Mod))
618 thinLTOInternalizeModule(Mod, DefinedGlobals);
621 !Conf.PostInternalizeModuleHook(Task, Mod))
625 assert(Mod.getContext().isODRUniquingDebugTypes() &&
630 return I->second.getLazyModule(Mod.getContext(),
650 BMOrErr->getLazyModule(Mod.getContext(),
660 if (Error Err = Importer.importFunctions(Mod, ImportList).takeError())
664 updateMemProfAttributes(Mod, CombinedIndex);
665 updatePublicTypeTestCalls(Mod, CombinedIndex.withWholeProgramVisibility());
667 if (Conf.PostImportModuleHook && !Conf.PostImportModuleHook(Task, Mod))
670 return OptimizeAndCodegen(Mod, TM.get(), std::move(DiagnosticOutputFile));