Lines Matching refs:Conf
201 createTargetMachine(const Config &Conf, const Target *TheTarget, Module &M) { in createTargetMachine() argument
205 for (const std::string &A : Conf.MAttrs) in createTargetMachine()
209 if (Conf.RelocModel) in createTargetMachine()
210 RelocModel = *Conf.RelocModel; in createTargetMachine()
216 if (Conf.CodeModel) in createTargetMachine()
217 CodeModel = *Conf.CodeModel; in createTargetMachine()
222 TheTriple, Conf.CPU, Features.getString(), Conf.Options, RelocModel, in createTargetMachine()
223 CodeModel, Conf.CGOptLevel)); in createTargetMachine()
233 static void runNewPMPasses(const Config &Conf, Module &Mod, TargetMachine *TM, in runNewPMPasses() argument
239 if (!Conf.SampleProfile.empty()) in runNewPMPasses()
240 PGOOpt = PGOOptions(Conf.SampleProfile, "", Conf.ProfileRemapping, in runNewPMPasses()
244 else if (Conf.RunCSIRInstr) { in runNewPMPasses()
245 PGOOpt = PGOOptions("", Conf.CSIRProfile, Conf.ProfileRemapping, in runNewPMPasses()
248 Conf.AddFSDiscriminator); in runNewPMPasses()
249 } else if (!Conf.CSIRProfile.empty()) { in runNewPMPasses()
250 PGOOpt = PGOOptions(Conf.CSIRProfile, "", Conf.ProfileRemapping, in runNewPMPasses()
253 Conf.AddFSDiscriminator); in runNewPMPasses()
254 NoPGOWarnMismatch = !Conf.PGOWarnMismatch; in runNewPMPasses()
255 } else if (Conf.AddFSDiscriminator) { in runNewPMPasses()
268 StandardInstrumentations SI(Mod.getContext(), Conf.DebugPassManager, in runNewPMPasses()
269 Conf.VerifyEach); in runNewPMPasses()
271 PassBuilder PB(TM, Conf.PTO, PGOOpt, &PIC); in runNewPMPasses()
273 RegisterPassPlugins(Conf.PassPlugins, PB); in runNewPMPasses()
277 if (Conf.Freestanding) in runNewPMPasses()
282 if (!Conf.AAPipeline.empty()) { in runNewPMPasses()
284 if (auto Err = PB.parseAAPipeline(AA, Conf.AAPipeline)) { in runNewPMPasses()
286 Conf.AAPipeline + "': " + toString(std::move(Err))); in runNewPMPasses()
301 if (!Conf.DisableVerify) in runNewPMPasses()
324 if (!Conf.OptPipeline.empty()) { in runNewPMPasses()
325 if (auto Err = PB.parsePassPipeline(MPM, Conf.OptPipeline)) { in runNewPMPasses()
327 Conf.OptPipeline + "': " + toString(std::move(Err))); in runNewPMPasses()
335 if (!Conf.DisableVerify) in runNewPMPasses()
341 bool lto::opt(const Config &Conf, TargetMachine *TM, unsigned Task, Module &Mod, in opt() argument
363 runNewPMPasses(Conf, Mod, TM, Conf.OptLevel, IsThinLTO, ExportSummary, in opt()
365 return !Conf.PostOptModuleHook || Conf.PostOptModuleHook(Task, Mod); in opt()
368 static void codegen(const Config &Conf, TargetMachine *TM, in codegen() argument
371 if (Conf.PreCodeGenModuleHook && !Conf.PreCodeGenModuleHook(Task, Mod)) in codegen()
381 SmallString<1024> DwoFile(Conf.SplitDwarfOutput); in codegen()
382 if (!Conf.DwoDir.empty()) { in codegen()
384 if (auto EC = llvm::sys::fs::create_directories(Conf.DwoDir)) in codegen()
385 report_fatal_error(Twine("Failed to create directory ") + Conf.DwoDir + in codegen()
388 DwoFile = Conf.DwoDir; in codegen()
392 TM->Options.MCOptions.SplitDwarfFile = Conf.SplitDwarfFile; in codegen()
414 if (Conf.PreCodeGenPassesHook) in codegen()
415 Conf.PreCodeGenPassesHook(CodeGenPasses); in codegen()
418 Conf.CGFileType)) in codegen()
553 Error lto::thinBackend(const Config &Conf, unsigned Task, AddStreamFn AddStream, in thinBackend() argument
559 Expected<const Target *> TOrErr = initAndLookupTarget(Conf, Mod); in thinBackend()
563 std::unique_ptr<TargetMachine> TM = createTargetMachine(Conf, *TOrErr, Mod); in thinBackend()
567 Mod.getContext(), Conf.RemarksFilename, Conf.RemarksPasses, in thinBackend()
568 Conf.RemarksFormat, Conf.RemarksWithHotness, Conf.RemarksHotnessThreshold, in thinBackend()
579 if (Conf.CodeGenOnly) { in thinBackend()
580 codegen(Conf, TM.get(), AddStream, Task, Mod, CombinedIndex); in thinBackend()
584 if (Conf.PreOptModuleHook && !Conf.PreOptModuleHook(Task, Mod)) in thinBackend()
590 if (!opt(Conf, TM, Task, Mod, /*IsThinLTO=*/true, in thinBackend()
595 codegen(Conf, TM, AddStream, Task, Mod, CombinedIndex); in thinBackend()
614 if (Conf.PostPromoteModuleHook && !Conf.PostPromoteModuleHook(Task, Mod)) in thinBackend()
620 if (Conf.PostInternalizeModuleHook && in thinBackend()
621 !Conf.PostInternalizeModuleHook(Task, Mod)) in thinBackend()
667 if (Conf.PostImportModuleHook && !Conf.PostImportModuleHook(Task, Mod)) in thinBackend()