Lines Matching refs:CodeGenOpts

137   const CodeGenOptions &CodeGenOpts;  member in __anon3496e3440111::EmitAssemblyHelper
196 return CodeGenOpts.PrepareForLTO && !CodeGenOpts.DisableLLVMPasses && in shouldEmitRegularLTOSummary()
204 return CodeGenOpts.UnifiedLTO && in shouldEmitUnifiedLTOModueFlag()
205 (CodeGenOpts.PrepareForThinLTO || shouldEmitRegularLTOSummary()); in shouldEmitUnifiedLTOModueFlag()
215 : Diags(_Diags), HSOpts(HeaderSearchOpts), CodeGenOpts(CGOpts), in EmitAssemblyHelper()
221 if (CodeGenOpts.DisableFree) in ~EmitAssemblyHelper()
293 getCodeModel(const CodeGenOptions &CodeGenOpts) { in getCodeModel() argument
294 unsigned CodeModel = llvm::StringSwitch<unsigned>(CodeGenOpts.CodeModel) in getCodeModel()
326 const CodeGenOptions &CodeGenOpts, in initTargetOptions() argument
340 assert((CodeGenOpts.FloatABI == "soft" || CodeGenOpts.FloatABI == "softfp" || in initTargetOptions()
341 CodeGenOpts.FloatABI == "hard" || CodeGenOpts.FloatABI.empty()) && in initTargetOptions()
344 llvm::StringSwitch<llvm::FloatABI::ABIType>(CodeGenOpts.FloatABI) in initTargetOptions()
367 llvm::TargetMachine::parseBinutilsVersion(CodeGenOpts.BinutilsVersion); in initTargetOptions()
368 Options.UseInitArray = CodeGenOpts.UseInitArray; in initTargetOptions()
369 Options.DisableIntegratedAS = CodeGenOpts.DisableIntegratedAS; in initTargetOptions()
385 Options.NoZerosInBSS = CodeGenOpts.NoZeroInitializedInBSS; in initTargetOptions()
394 Options.BBAddrMap = CodeGenOpts.BBAddrMap; in initTargetOptions()
396 llvm::StringSwitch<llvm::BasicBlockSection>(CodeGenOpts.BBSections) in initTargetOptions()
405 MemoryBuffer::getFile(CodeGenOpts.BBSections.substr(5)); in initTargetOptions()
414 Options.EnableMachineFunctionSplitter = CodeGenOpts.SplitMachineFunctions; in initTargetOptions()
415 Options.FunctionSections = CodeGenOpts.FunctionSections; in initTargetOptions()
416 Options.DataSections = CodeGenOpts.DataSections; in initTargetOptions()
418 Options.UniqueSectionNames = CodeGenOpts.UniqueSectionNames; in initTargetOptions()
420 CodeGenOpts.UniqueBasicBlockSectionNames; in initTargetOptions()
421 Options.SeparateNamedSections = CodeGenOpts.SeparateNamedSections; in initTargetOptions()
422 Options.TLSSize = CodeGenOpts.TLSSize; in initTargetOptions()
423 Options.EnableTLSDESC = CodeGenOpts.EnableTLSDESC; in initTargetOptions()
424 Options.EmulatedTLS = CodeGenOpts.EmulatedTLS; in initTargetOptions()
425 Options.DebuggerTuning = CodeGenOpts.getDebuggerTuning(); in initTargetOptions()
426 Options.EmitStackSizeSection = CodeGenOpts.StackSizeSection; in initTargetOptions()
427 Options.StackUsageOutput = CodeGenOpts.StackUsageOutput; in initTargetOptions()
428 Options.EmitAddrsig = CodeGenOpts.Addrsig; in initTargetOptions()
429 Options.ForceDwarfFrameSection = CodeGenOpts.ForceDwarfFrameSection; in initTargetOptions()
430 Options.EmitCallSiteInfo = CodeGenOpts.EmitCallSiteInfo; in initTargetOptions()
432 Options.XRayFunctionIndex = CodeGenOpts.XRayFunctionIndex; in initTargetOptions()
433 Options.LoopAlignment = CodeGenOpts.LoopAlignment; in initTargetOptions()
434 Options.DebugStrictDwarf = CodeGenOpts.DebugStrictDwarf; in initTargetOptions()
435 Options.ObjectFilenameForDebug = CodeGenOpts.ObjectFilenameForDebug; in initTargetOptions()
436 Options.Hotpatch = CodeGenOpts.HotPatch; in initTargetOptions()
437 Options.JMCInstrument = CodeGenOpts.JMCInstrument; in initTargetOptions()
438 Options.XCOFFReadOnlyPointers = CodeGenOpts.XCOFFReadOnlyPointers; in initTargetOptions()
440 switch (CodeGenOpts.getSwiftAsyncFramePointer()) { in initTargetOptions()
455 Options.MCOptions.SplitDwarfFile = CodeGenOpts.SplitDwarfFile; in initTargetOptions()
456 Options.MCOptions.EmitDwarfUnwind = CodeGenOpts.getEmitDwarfUnwind(); in initTargetOptions()
458 CodeGenOpts.EmitCompactUnwindNonCanonical; in initTargetOptions()
459 Options.MCOptions.MCRelaxAll = CodeGenOpts.RelaxAll; in initTargetOptions()
460 Options.MCOptions.MCSaveTempLabels = CodeGenOpts.SaveTempLabels; in initTargetOptions()
462 CodeGenOpts.NoDwarfDirectoryAsm in initTargetOptions()
465 Options.MCOptions.MCNoExecStack = CodeGenOpts.NoExecStack; in initTargetOptions()
467 CodeGenOpts.IncrementalLinkerCompatible; in initTargetOptions()
468 Options.MCOptions.MCFatalWarnings = CodeGenOpts.FatalWarnings; in initTargetOptions()
469 Options.MCOptions.MCNoWarn = CodeGenOpts.NoWarn; in initTargetOptions()
470 Options.MCOptions.AsmVerbose = CodeGenOpts.AsmVerbose; in initTargetOptions()
471 Options.MCOptions.Dwarf64 = CodeGenOpts.Dwarf64; in initTargetOptions()
472 Options.MCOptions.PreserveAsmComments = CodeGenOpts.PreserveAsmComments; in initTargetOptions()
473 Options.MCOptions.Crel = CodeGenOpts.Crel; in initTargetOptions()
474 Options.MCOptions.X86RelaxRelocations = CodeGenOpts.RelaxELFRelocations; in initTargetOptions()
476 CodeGenOpts.getCompressDebugSections(); in initTargetOptions()
485 Options.MCOptions.Argv0 = CodeGenOpts.Argv0; in initTargetOptions()
486 Options.MCOptions.CommandLineArgs = CodeGenOpts.CommandLineArgs; in initTargetOptions()
487 Options.MCOptions.AsSecureLogFile = CodeGenOpts.AsSecureLogFile; in initTargetOptions()
489 CodeGenOpts.PPCUseFullRegisterNames; in initTargetOptions()
490 Options.MisExpect = CodeGenOpts.MisExpect; in initTargetOptions()
496 getGCOVOptions(const CodeGenOptions &CodeGenOpts, const LangOptions &LangOpts) { in getGCOVOptions() argument
497 if (CodeGenOpts.CoverageNotesFile.empty() && in getGCOVOptions()
498 CodeGenOpts.CoverageDataFile.empty()) in getGCOVOptions()
503 Options.EmitNotes = !CodeGenOpts.CoverageNotesFile.empty(); in getGCOVOptions()
504 Options.EmitData = !CodeGenOpts.CoverageDataFile.empty(); in getGCOVOptions()
505 llvm::copy(CodeGenOpts.CoverageVersion, std::begin(Options.Version)); in getGCOVOptions()
506 Options.NoRedZone = CodeGenOpts.DisableRedZone; in getGCOVOptions()
507 Options.Filter = CodeGenOpts.ProfileFilterFiles; in getGCOVOptions()
508 Options.Exclude = CodeGenOpts.ProfileExcludeFiles; in getGCOVOptions()
509 Options.Atomic = CodeGenOpts.AtomicProfileUpdate; in getGCOVOptions()
514 getInstrProfOptions(const CodeGenOptions &CodeGenOpts, in getInstrProfOptions() argument
516 if (!CodeGenOpts.hasProfileClangInstr()) in getInstrProfOptions()
519 Options.NoRedZone = CodeGenOpts.DisableRedZone; in getInstrProfOptions()
520 Options.InstrProfileOutput = CodeGenOpts.InstrProfileOutput; in getInstrProfOptions()
521 Options.Atomic = CodeGenOpts.AtomicProfileUpdate; in getInstrProfOptions()
525 static void setCommandLineOpts(const CodeGenOptions &CodeGenOpts) { in setCommandLineOpts() argument
528 if (!CodeGenOpts.DebugPass.empty()) { in setCommandLineOpts()
530 BackendArgs.push_back(CodeGenOpts.DebugPass.c_str()); in setCommandLineOpts()
532 if (!CodeGenOpts.LimitFloatPrecision.empty()) { in setCommandLineOpts()
534 BackendArgs.push_back(CodeGenOpts.LimitFloatPrecision.c_str()); in setCommandLineOpts()
560 std::optional<llvm::CodeModel::Model> CM = getCodeModel(CodeGenOpts); in CreateTargetMachine()
563 llvm::Reloc::Model RM = CodeGenOpts.RelocationModel; in CreateTargetMachine()
565 CodeGenOpt::getLevel(CodeGenOpts.OptimizationLevel); in CreateTargetMachine()
570 if (!initTargetOptions(Diags, Options, CodeGenOpts, TargetOpts, LangOpts, in CreateTargetMachine()
575 TM->setLargeDataThreshold(CodeGenOpts.LargeDataThreshold); in CreateTargetMachine()
584 llvm::driver::createTLII(TargetTriple, CodeGenOpts.getVecLib())); in AddEmitPasses()
594 if (CodeGenOpts.OptimizationLevel > 0) in AddEmitPasses()
598 /*DisableVerify=*/!CodeGenOpts.VerifyModule)) { in AddEmitPasses()
663 const CodeGenOptions &CodeGenOpts, in addSanitizers() argument
667 if (CodeGenOpts.hasSanitizeCoverage()) { in addSanitizers()
668 auto SancovOpts = getSancovOptsFromCGOpts(CodeGenOpts); in addSanitizers()
670 SancovOpts, CodeGenOpts.SanitizeCoverageAllowlistFiles, in addSanitizers()
671 CodeGenOpts.SanitizeCoverageIgnorelistFiles)); in addSanitizers()
674 if (CodeGenOpts.hasSanitizeBinaryMetadata()) { in addSanitizers()
676 getSanitizerBinaryMetadataOptions(CodeGenOpts), in addSanitizers()
677 CodeGenOpts.SanitizeMetadataIgnorelistFiles)); in addSanitizers()
682 int TrackOrigins = CodeGenOpts.SanitizeMemoryTrackOrigins; in addSanitizers()
683 bool Recover = CodeGenOpts.SanitizeRecover.has(Mask); in addSanitizers()
686 CodeGenOpts.SanitizeMemoryParamRetval); in addSanitizers()
717 bool UseGlobalGC = asanUseGlobalsGC(TargetTriple, CodeGenOpts); in addSanitizers()
718 bool UseOdrIndicator = CodeGenOpts.SanitizeAddressUseOdrIndicator; in addSanitizers()
720 CodeGenOpts.getSanitizeAddressDtor(); in addSanitizers()
723 Opts.Recover = CodeGenOpts.SanitizeRecover.has(Mask); in addSanitizers()
724 Opts.UseAfterScope = CodeGenOpts.SanitizeAddressUseAfterScope; in addSanitizers()
725 Opts.UseAfterReturn = CodeGenOpts.getSanitizeAddressUseAfterReturn(); in addSanitizers()
735 bool Recover = CodeGenOpts.SanitizeRecover.has(Mask); in addSanitizers()
738 /*DisableOptimization=*/CodeGenOpts.OptimizationLevel == 0})); in addSanitizers()
780 if (CodeGenOpts.hasProfileIRInstr()) in RunOptimizationPipeline()
783 CodeGenOpts.InstrProfileOutput.empty() ? getDefaultProfileGenName() in RunOptimizationPipeline()
784 : CodeGenOpts.InstrProfileOutput, in RunOptimizationPipeline()
785 "", "", CodeGenOpts.MemoryProfileUsePath, nullptr, PGOOptions::IRInstr, in RunOptimizationPipeline()
787 CodeGenOpts.DebugInfoForProfiling, in RunOptimizationPipeline()
788 /*PseudoProbeForProfiling=*/false, CodeGenOpts.AtomicProfileUpdate); in RunOptimizationPipeline()
789 else if (CodeGenOpts.hasProfileIRUse()) { in RunOptimizationPipeline()
791 auto CSAction = CodeGenOpts.hasProfileCSIRUse() ? PGOOptions::CSIRUse in RunOptimizationPipeline()
793 PGOOpt = PGOOptions(CodeGenOpts.ProfileInstrumentUsePath, "", in RunOptimizationPipeline()
794 CodeGenOpts.ProfileRemappingFile, in RunOptimizationPipeline()
795 CodeGenOpts.MemoryProfileUsePath, VFS, in RunOptimizationPipeline()
797 CodeGenOpts.DebugInfoForProfiling); in RunOptimizationPipeline()
798 } else if (!CodeGenOpts.SampleProfileFile.empty()) in RunOptimizationPipeline()
801 CodeGenOpts.SampleProfileFile, "", CodeGenOpts.ProfileRemappingFile, in RunOptimizationPipeline()
802 CodeGenOpts.MemoryProfileUsePath, VFS, PGOOptions::SampleUse, in RunOptimizationPipeline()
804 CodeGenOpts.DebugInfoForProfiling, CodeGenOpts.PseudoProbeForProfiling); in RunOptimizationPipeline()
805 else if (!CodeGenOpts.MemoryProfileUsePath.empty()) in RunOptimizationPipeline()
807 PGOOpt = PGOOptions("", "", "", CodeGenOpts.MemoryProfileUsePath, VFS, in RunOptimizationPipeline()
809 ClPGOColdFuncAttr, CodeGenOpts.DebugInfoForProfiling); in RunOptimizationPipeline()
810 else if (CodeGenOpts.PseudoProbeForProfiling) in RunOptimizationPipeline()
815 ClPGOColdFuncAttr, CodeGenOpts.DebugInfoForProfiling, true); in RunOptimizationPipeline()
816 else if (CodeGenOpts.DebugInfoForProfiling) in RunOptimizationPipeline()
823 if (CodeGenOpts.hasProfileCSIRInstr()) { in RunOptimizationPipeline()
824 assert(!CodeGenOpts.hasProfileCSIRUse() && in RunOptimizationPipeline()
832 PGOOpt->CSProfileGenFile = CodeGenOpts.InstrProfileOutput.empty() in RunOptimizationPipeline()
834 : CodeGenOpts.InstrProfileOutput; in RunOptimizationPipeline()
838 CodeGenOpts.InstrProfileOutput.empty() in RunOptimizationPipeline()
840 : CodeGenOpts.InstrProfileOutput, in RunOptimizationPipeline()
843 ClPGOColdFuncAttr, CodeGenOpts.DebugInfoForProfiling); in RunOptimizationPipeline()
849 PTO.LoopUnrolling = CodeGenOpts.UnrollLoops; in RunOptimizationPipeline()
852 PTO.LoopInterleaving = CodeGenOpts.UnrollLoops; in RunOptimizationPipeline()
853 PTO.LoopVectorization = CodeGenOpts.VectorizeLoop; in RunOptimizationPipeline()
854 PTO.SLPVectorization = CodeGenOpts.VectorizeSLP; in RunOptimizationPipeline()
855 PTO.MergeFunctions = CodeGenOpts.MergeFunctions; in RunOptimizationPipeline()
858 PTO.CallGraphProfile = !CodeGenOpts.DisableIntegratedAS; in RunOptimizationPipeline()
859 PTO.UnifiedLTO = CodeGenOpts.UnifiedLTO; in RunOptimizationPipeline()
866 bool DebugPassStructure = CodeGenOpts.DebugPass == "Structure"; in RunOptimizationPipeline()
873 (CodeGenOpts.DebugPassManager || DebugPassStructure), in RunOptimizationPipeline()
874 CodeGenOpts.VerifyEach, PrintPassOpts); in RunOptimizationPipeline()
879 switch (CodeGenOpts.getAssignmentTrackingMode()) { in RunOptimizationPipeline()
889 if (!CodeGenOpts.PrepareForThinLTO && !CodeGenOpts.PrepareForLTO && in RunOptimizationPipeline()
890 CodeGenOpts.getDebuggerTuning() != llvm::DebuggerKind::LLDB) { in RunOptimizationPipeline()
906 if (CodeGenOpts.EnableDIPreservationVerify) { in RunOptimizationPipeline()
910 if (!CodeGenOpts.DIBugsReportFilePath.empty()) in RunOptimizationPipeline()
912 CodeGenOpts.DIBugsReportFilePath); in RunOptimizationPipeline()
916 for (auto &PluginFN : CodeGenOpts.PassPlugins) { in RunOptimizationPipeline()
925 for (const auto &PassCallback : CodeGenOpts.PassBuilderCallbacks) in RunOptimizationPipeline()
934 llvm::driver::createTLII(TargetTriple, CodeGenOpts.getVecLib())); in RunOptimizationPipeline()
946 if (CodeGenOpts.VerifyModule) in RunOptimizationPipeline()
949 if (!CodeGenOpts.DisableLLVMPasses) { in RunOptimizationPipeline()
952 OptimizationLevel Level = mapToLevel(CodeGenOpts); in RunOptimizationPipeline()
954 const bool PrepareForThinLTO = CodeGenOpts.PrepareForThinLTO; in RunOptimizationPipeline()
955 const bool PrepareForLTO = CodeGenOpts.PrepareForLTO; in RunOptimizationPipeline()
979 bool IsThinLTOPostLink = !CodeGenOpts.ThinLTOIndexFile.empty(); in RunOptimizationPipeline()
1001 addSanitizers(TargetTriple, CodeGenOpts, LangOpts, PB); in RunOptimizationPipeline()
1006 getGCOVOptions(CodeGenOpts, LangOpts)) in RunOptimizationPipeline()
1012 getInstrProfOptions(CodeGenOpts, LangOpts)) in RunOptimizationPipeline()
1020 if (!CodeGenOpts.MemoryProfileOutput.empty()) { in RunOptimizationPipeline()
1028 if (CodeGenOpts.FatLTO) { in RunOptimizationPipeline()
1042 if (CodeGenOpts.LinkBitcodePostopt) in RunOptimizationPipeline()
1050 if (!actionRequiresCodeGen(Action) && CodeGenOpts.VerifyModule) in RunOptimizationPipeline()
1054 CodeGenOpts.FatLTO) { in RunOptimizationPipeline()
1055 if (CodeGenOpts.PrepareForThinLTO && !CodeGenOpts.DisableLLVMPasses) { in RunOptimizationPipeline()
1058 CodeGenOpts.EnableSplitLTOUnit); in RunOptimizationPipeline()
1060 if (!CodeGenOpts.ThinLinkBitcodeFile.empty()) { in RunOptimizationPipeline()
1061 ThinLinkOS = openOutputFile(CodeGenOpts.ThinLinkBitcodeFile); in RunOptimizationPipeline()
1068 MPM.addPass(PrintModulePass(*OS, "", CodeGenOpts.EmitLLVMUseLists, in RunOptimizationPipeline()
1076 if (!TheModule->getModuleFlag("ThinLTO") && !CodeGenOpts.UnifiedLTO) in RunOptimizationPipeline()
1083 MPM.addPass(BitcodeWriterPass(*OS, CodeGenOpts.EmitLLVMUseLists, in RunOptimizationPipeline()
1086 MPM.addPass(PrintModulePass(*OS, "", CodeGenOpts.EmitLLVMUseLists, in RunOptimizationPipeline()
1133 if (!CodeGenOpts.SplitDwarfOutput.empty()) { in RunCodegenPipeline()
1134 DwoOS = openOutputFile(CodeGenOpts.SplitDwarfOutput); in RunCodegenPipeline()
1164 TimeRegion Region(CodeGenOpts.TimePasses ? &CodeGenerationTime : nullptr); in EmitAssembly()
1165 setCommandLineOpts(CodeGenOpts); in EmitAssembly()