Lines Matching refs:Conf
127 createTargetMachine(Config &Conf, const Target *TheTarget, Module &M) { in createTargetMachine() argument
131 for (const std::string &A : Conf.MAttrs) in createTargetMachine()
135 if (Conf.RelocModel) in createTargetMachine()
136 RelocModel = *Conf.RelocModel; in createTargetMachine()
142 if (Conf.CodeModel) in createTargetMachine()
143 CodeModel = *Conf.CodeModel; in createTargetMachine()
148 TheTriple, Conf.CPU, Features.getString(), Conf.Options, RelocModel, in createTargetMachine()
149 CodeModel, Conf.CGOptLevel)); in createTargetMachine()
152 static void runNewPMPasses(Config &Conf, Module &Mod, TargetMachine *TM, in runNewPMPasses() argument
157 if (!Conf.SampleProfile.empty()) in runNewPMPasses()
158 PGOOpt = PGOOptions("", "", Conf.SampleProfile, Conf.ProfileRemapping, in runNewPMPasses()
168 LoopAnalysisManager LAM(Conf.DebugPassManager); in runNewPMPasses()
169 FunctionAnalysisManager FAM(Conf.DebugPassManager); in runNewPMPasses()
170 CGSCCAnalysisManager CGAM(Conf.DebugPassManager); in runNewPMPasses()
171 ModuleAnalysisManager MAM(Conf.DebugPassManager); in runNewPMPasses()
183 ModulePassManager MPM(Conf.DebugPassManager); in runNewPMPasses()
206 MPM = PB.buildThinLTODefaultPipeline(OL, Conf.DebugPassManager, in runNewPMPasses()
209 MPM = PB.buildLTODefaultPipeline(OL, Conf.DebugPassManager, ExportSummary); in runNewPMPasses()
258 static void runOldPMPasses(Config &Conf, Module &Mod, TargetMachine *TM, in runOldPMPasses() argument
272 PMB.VerifyOutput = !Conf.DisableVerify; in runOldPMPasses()
275 PMB.OptLevel = Conf.OptLevel; in runOldPMPasses()
276 PMB.PGOSampleUse = Conf.SampleProfile; in runOldPMPasses()
284 bool opt(Config &Conf, TargetMachine *TM, unsigned Task, Module &Mod, in opt() argument
288 if (!Conf.OptPipeline.empty()) in opt()
289 runNewPMCustomPasses(Mod, TM, Conf.OptPipeline, Conf.AAPipeline, in opt()
290 Conf.DisableVerify); in opt()
291 else if (Conf.UseNewPM) in opt()
292 runNewPMPasses(Conf, Mod, TM, Conf.OptLevel, IsThinLTO, ExportSummary, in opt()
295 runOldPMPasses(Conf, Mod, TM, IsThinLTO, ExportSummary, ImportSummary); in opt()
296 return !Conf.PostOptModuleHook || Conf.PostOptModuleHook(Task, Mod); in opt()
299 void codegen(Config &Conf, TargetMachine *TM, AddStreamFn AddStream, in codegen() argument
301 if (Conf.PreCodeGenModuleHook && !Conf.PreCodeGenModuleHook(Task, Mod)) in codegen()
305 SmallString<1024> DwoFile(Conf.DwoPath); in codegen()
306 if (!Conf.DwoDir.empty()) { in codegen()
308 if (auto EC = llvm::sys::fs::create_directories(Conf.DwoDir)) in codegen()
309 report_fatal_error("Failed to create directory " + Conf.DwoDir + ": " + in codegen()
312 DwoFile = Conf.DwoDir; in codegen()
328 Conf.CGFileType)) in codegen()
463 Error lto::thinBackend(Config &Conf, unsigned Task, AddStreamFn AddStream, in thinBackend() argument
468 Expected<const Target *> TOrErr = initAndLookupTarget(Conf, Mod); in thinBackend()
472 std::unique_ptr<TargetMachine> TM = createTargetMachine(Conf, *TOrErr, Mod); in thinBackend()
476 Mod.getContext(), Conf.RemarksFilename, Conf.RemarksWithHotness, Task); in thinBackend()
481 if (Conf.CodeGenOnly) { in thinBackend()
482 codegen(Conf, TM.get(), AddStream, Task, Mod); in thinBackend()
486 if (Conf.PreOptModuleHook && !Conf.PreOptModuleHook(Task, Mod)) in thinBackend()
495 if (Conf.PostPromoteModuleHook && !Conf.PostPromoteModuleHook(Task, Mod)) in thinBackend()
501 if (Conf.PostInternalizeModuleHook && in thinBackend()
502 !Conf.PostInternalizeModuleHook(Task, Mod)) in thinBackend()
519 if (Conf.PostImportModuleHook && !Conf.PostImportModuleHook(Task, Mod)) in thinBackend()
522 if (!opt(Conf, TM.get(), Task, Mod, /*IsThinLTO=*/true, in thinBackend()
526 codegen(Conf, TM.get(), AddStream, Task, Mod); in thinBackend()