Lines Matching refs:Mod

208 static void runNewPMPasses(const Config &Conf, Module &Mod, TargetMachine *TM,  in runNewPMPasses()  argument
306 MPM.run(Mod, MAM); in runNewPMPasses()
309 static void runOldPMPasses(const Config &Conf, Module &Mod, TargetMachine *TM, in runOldPMPasses() argument
339 passes.run(Mod); in runOldPMPasses()
342 bool lto::opt(const Config &Conf, TargetMachine *TM, unsigned Task, Module &Mod, in opt() argument
359 llvm::EmbedBitcodeInModule(Mod, llvm::MemoryBufferRef(), in opt()
365 runNewPMPasses(Conf, Mod, TM, Conf.OptLevel, IsThinLTO, ExportSummary, in opt()
368 runOldPMPasses(Conf, Mod, TM, IsThinLTO, ExportSummary, ImportSummary); in opt()
370 return !Conf.PostOptModuleHook || Conf.PostOptModuleHook(Task, Mod); in opt()
374 AddStreamFn AddStream, unsigned Task, Module &Mod, in codegen() argument
376 if (Conf.PreCodeGenModuleHook && !Conf.PreCodeGenModuleHook(Task, Mod)) in codegen()
380 llvm::EmbedBitcodeInModule(Mod, llvm::MemoryBufferRef(), in codegen()
416 CodeGenPasses.run(Mod); in codegen()
424 unsigned ParallelCodeGenParallelismLevel, Module &Mod, in splitCodeGen() argument
432 Mod, ParallelCodeGenParallelismLevel, in splitCodeGen()
474 Module &Mod) { in initAndLookupTarget() argument
476 Mod.setTargetTriple(C.OverrideTriple); in initAndLookupTarget()
477 else if (Mod.getTargetTriple().empty()) in initAndLookupTarget()
478 Mod.setTargetTriple(C.DefaultTriple); in initAndLookupTarget()
481 const Target *T = TargetRegistry::lookupTarget(Mod.getTargetTriple(), Msg); in initAndLookupTarget()
499 unsigned ParallelCodeGenParallelismLevel, Module &Mod, in backend() argument
501 Expected<const Target *> TOrErr = initAndLookupTarget(C, Mod); in backend()
505 std::unique_ptr<TargetMachine> TM = createTargetMachine(C, *TOrErr, Mod); in backend()
508 if (!opt(C, TM.get(), 0, Mod, /*IsThinLTO=*/false, in backend()
515 codegen(C, TM.get(), AddStream, 0, Mod, CombinedIndex); in backend()
517 splitCodeGen(C, TM.get(), AddStream, ParallelCodeGenParallelismLevel, Mod, in backend()
523 static void dropDeadSymbols(Module &Mod, const GVSummaryMapTy &DefinedGlobals, in dropDeadSymbols() argument
526 for (auto &GV : Mod.global_values()) in dropDeadSymbols()
545 Module &Mod, const ModuleSummaryIndex &CombinedIndex, in thinBackend() argument
550 Expected<const Target *> TOrErr = initAndLookupTarget(Conf, Mod); in thinBackend()
554 std::unique_ptr<TargetMachine> TM = createTargetMachine(Conf, *TOrErr, Mod); in thinBackend()
558 Mod.getContext(), Conf.RemarksFilename, Conf.RemarksPasses, in thinBackend()
567 Mod.setPartialSampleProfileRatio(CombinedIndex); in thinBackend()
570 codegen(Conf, TM.get(), AddStream, Task, Mod, CombinedIndex); in thinBackend()
574 if (Conf.PreOptModuleHook && !Conf.PreOptModuleHook(Task, Mod)) in thinBackend()
578 [&](Module &Mod, TargetMachine *TM, in thinBackend()
580 if (!opt(Conf, TM, Task, Mod, /*IsThinLTO=*/true, in thinBackend()
585 codegen(Conf, TM, AddStream, Task, Mod, CombinedIndex); in thinBackend()
590 return OptimizeAndCodegen(Mod, TM.get(), std::move(DiagnosticOutputFile)); in thinBackend()
597 Mod.getPIELevel() == PIELevel::Default; in thinBackend()
598 renameModuleForThinLTO(Mod, CombinedIndex, ClearDSOLocalOnDeclarations); in thinBackend()
600 dropDeadSymbols(Mod, DefinedGlobals, CombinedIndex); in thinBackend()
602 thinLTOResolvePrevailingInModule(Mod, DefinedGlobals); in thinBackend()
604 if (Conf.PostPromoteModuleHook && !Conf.PostPromoteModuleHook(Task, Mod)) in thinBackend()
608 thinLTOInternalizeModule(Mod, DefinedGlobals); in thinBackend()
611 !Conf.PostInternalizeModuleHook(Task, Mod)) in thinBackend()
615 assert(Mod.getContext().isODRUniquingDebugTypes() && in thinBackend()
620 return I->second.getLazyModule(Mod.getContext(), in thinBackend()
640 BMOrErr->getLazyModule(Mod.getContext(), in thinBackend()
650 if (Error Err = Importer.importFunctions(Mod, ImportList).takeError()) in thinBackend()
653 if (Conf.PostImportModuleHook && !Conf.PostImportModuleHook(Task, Mod)) in thinBackend()
656 return OptimizeAndCodegen(Mod, TM.get(), std::move(DiagnosticOutputFile)); in thinBackend()