Lines Matching refs:Conf
205 createTargetMachine(const Config &Conf, const Target *TheTarget, Module &M) { in createTargetMachine() argument
209 for (const std::string &A : Conf.MAttrs) in createTargetMachine()
213 if (Conf.RelocModel) in createTargetMachine()
214 RelocModel = *Conf.RelocModel; in createTargetMachine()
220 if (Conf.CodeModel) in createTargetMachine()
221 CodeModel = *Conf.CodeModel; in createTargetMachine()
226 TheTriple, Conf.CPU, Features.getString(), Conf.Options, RelocModel, in createTargetMachine()
227 CodeModel, Conf.CGOptLevel)); in createTargetMachine()
237 static void runNewPMPasses(const Config &Conf, Module &Mod, TargetMachine *TM, in runNewPMPasses() argument
243 if (!Conf.SampleProfile.empty()) in runNewPMPasses()
244 PGOOpt = PGOOptions(Conf.SampleProfile, "", Conf.ProfileRemapping, in runNewPMPasses()
247 else if (Conf.RunCSIRInstr) { in runNewPMPasses()
248 PGOOpt = PGOOptions("", Conf.CSIRProfile, Conf.ProfileRemapping, in runNewPMPasses()
250 PGOOptions::CSIRInstr, Conf.AddFSDiscriminator); in runNewPMPasses()
251 } else if (!Conf.CSIRProfile.empty()) { in runNewPMPasses()
252 PGOOpt = PGOOptions(Conf.CSIRProfile, "", Conf.ProfileRemapping, in runNewPMPasses()
254 PGOOptions::CSIRUse, Conf.AddFSDiscriminator); in runNewPMPasses()
255 NoPGOWarnMismatch = !Conf.PGOWarnMismatch; in runNewPMPasses()
256 } 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()
329 } else if (Conf.UseDefaultPipeline) { in runNewPMPasses()
337 if (!Conf.DisableVerify) in runNewPMPasses()
343 bool lto::opt(const Config &Conf, TargetMachine *TM, unsigned Task, Module &Mod, in opt() argument
365 runNewPMPasses(Conf, Mod, TM, Conf.OptLevel, IsThinLTO, ExportSummary, in opt()
367 return !Conf.PostOptModuleHook || Conf.PostOptModuleHook(Task, Mod); in opt()
370 static void codegen(const Config &Conf, TargetMachine *TM, in codegen() argument
373 if (Conf.PreCodeGenModuleHook && !Conf.PreCodeGenModuleHook(Task, Mod)) in codegen()
383 SmallString<1024> DwoFile(Conf.SplitDwarfOutput); in codegen()
384 if (!Conf.DwoDir.empty()) { in codegen()
386 if (auto EC = llvm::sys::fs::create_directories(Conf.DwoDir)) in codegen()
387 report_fatal_error(Twine("Failed to create directory ") + Conf.DwoDir + in codegen()
390 DwoFile = Conf.DwoDir; in codegen()
394 TM->Options.MCOptions.SplitDwarfFile = Conf.SplitDwarfFile; in codegen()
416 if (Conf.PreCodeGenPassesHook) in codegen()
417 Conf.PreCodeGenPassesHook(CodeGenPasses); in codegen()
420 Conf.CGFileType)) in codegen()
551 Error lto::thinBackend(const Config &Conf, unsigned Task, AddStreamFn AddStream, in thinBackend() argument
557 Expected<const Target *> TOrErr = initAndLookupTarget(Conf, Mod); in thinBackend()
561 std::unique_ptr<TargetMachine> TM = createTargetMachine(Conf, *TOrErr, Mod); in thinBackend()
565 Mod.getContext(), Conf.RemarksFilename, Conf.RemarksPasses, in thinBackend()
566 Conf.RemarksFormat, Conf.RemarksWithHotness, Conf.RemarksHotnessThreshold, in thinBackend()
577 if (Conf.CodeGenOnly) { in thinBackend()
578 codegen(Conf, TM.get(), AddStream, Task, Mod, CombinedIndex); in thinBackend()
582 if (Conf.PreOptModuleHook && !Conf.PreOptModuleHook(Task, Mod)) in thinBackend()
588 if (!opt(Conf, TM, Task, Mod, /*IsThinLTO=*/true, in thinBackend()
593 codegen(Conf, TM, AddStream, Task, Mod, CombinedIndex); in thinBackend()
612 if (Conf.PostPromoteModuleHook && !Conf.PostPromoteModuleHook(Task, Mod)) in thinBackend()
618 if (Conf.PostInternalizeModuleHook && in thinBackend()
619 !Conf.PostInternalizeModuleHook(Task, Mod)) in thinBackend()
665 if (Conf.PostImportModuleHook && !Conf.PostImportModuleHook(Task, Mod)) in thinBackend()