Lines Matching refs:CodeGenOpts
122 const CodeGenOptions &CodeGenOpts; member in __anonf4fb55db0111::EmitAssemblyHelper
181 return CodeGenOpts.PrepareForLTO && !CodeGenOpts.DisableLLVMPasses && in shouldEmitRegularLTOSummary()
191 : Diags(_Diags), HSOpts(HeaderSearchOpts), CodeGenOpts(CGOpts), in EmitAssemblyHelper()
197 if (CodeGenOpts.DisableFree) in ~EmitAssemblyHelper()
269 const CodeGenOptions &CodeGenOpts) { in createTLII() argument
272 switch (CodeGenOpts.getVecLib()) { in createTLII()
304 getCodeModel(const CodeGenOptions &CodeGenOpts) { in getCodeModel() argument
305 unsigned CodeModel = llvm::StringSwitch<unsigned>(CodeGenOpts.CodeModel) in getCodeModel()
337 const CodeGenOptions &CodeGenOpts, in initTargetOptions() argument
351 assert((CodeGenOpts.FloatABI == "soft" || CodeGenOpts.FloatABI == "softfp" || in initTargetOptions()
352 CodeGenOpts.FloatABI == "hard" || CodeGenOpts.FloatABI.empty()) && in initTargetOptions()
355 llvm::StringSwitch<llvm::FloatABI::ABIType>(CodeGenOpts.FloatABI) in initTargetOptions()
378 llvm::TargetMachine::parseBinutilsVersion(CodeGenOpts.BinutilsVersion); in initTargetOptions()
379 Options.UseInitArray = CodeGenOpts.UseInitArray; in initTargetOptions()
381 CodeGenOpts.RegisterGlobalDtorsWithAtExit; in initTargetOptions()
382 Options.DisableIntegratedAS = CodeGenOpts.DisableIntegratedAS; in initTargetOptions()
383 Options.CompressDebugSections = CodeGenOpts.getCompressDebugSections(); in initTargetOptions()
384 Options.RelaxELFRelocations = CodeGenOpts.RelaxELFRelocations; in initTargetOptions()
400 Options.NoZerosInBSS = CodeGenOpts.NoZeroInitializedInBSS; in initTargetOptions()
410 llvm::StringSwitch<llvm::BasicBlockSection>(CodeGenOpts.BBSections) in initTargetOptions()
419 MemoryBuffer::getFile(CodeGenOpts.BBSections.substr(5)); in initTargetOptions()
428 Options.EnableMachineFunctionSplitter = CodeGenOpts.SplitMachineFunctions; in initTargetOptions()
429 Options.FunctionSections = CodeGenOpts.FunctionSections; in initTargetOptions()
430 Options.DataSections = CodeGenOpts.DataSections; in initTargetOptions()
432 Options.UniqueSectionNames = CodeGenOpts.UniqueSectionNames; in initTargetOptions()
434 CodeGenOpts.UniqueBasicBlockSectionNames; in initTargetOptions()
435 Options.TLSSize = CodeGenOpts.TLSSize; in initTargetOptions()
436 Options.EmulatedTLS = CodeGenOpts.EmulatedTLS; in initTargetOptions()
438 Options.DebuggerTuning = CodeGenOpts.getDebuggerTuning(); in initTargetOptions()
439 Options.EmitStackSizeSection = CodeGenOpts.StackSizeSection; in initTargetOptions()
440 Options.StackUsageOutput = CodeGenOpts.StackUsageOutput; in initTargetOptions()
441 Options.EmitAddrsig = CodeGenOpts.Addrsig; in initTargetOptions()
442 Options.ForceDwarfFrameSection = CodeGenOpts.ForceDwarfFrameSection; in initTargetOptions()
443 Options.EmitCallSiteInfo = CodeGenOpts.EmitCallSiteInfo; in initTargetOptions()
444 Options.EnableAIXExtendedAltivecABI = CodeGenOpts.EnableAIXExtendedAltivecABI; in initTargetOptions()
445 Options.XRayOmitFunctionIndex = CodeGenOpts.XRayOmitFunctionIndex; in initTargetOptions()
446 Options.LoopAlignment = CodeGenOpts.LoopAlignment; in initTargetOptions()
447 Options.DebugStrictDwarf = CodeGenOpts.DebugStrictDwarf; in initTargetOptions()
448 Options.ObjectFilenameForDebug = CodeGenOpts.ObjectFilenameForDebug; in initTargetOptions()
449 Options.Hotpatch = CodeGenOpts.HotPatch; in initTargetOptions()
450 Options.JMCInstrument = CodeGenOpts.JMCInstrument; in initTargetOptions()
452 switch (CodeGenOpts.getSwiftAsyncFramePointer()) { in initTargetOptions()
467 Options.MCOptions.SplitDwarfFile = CodeGenOpts.SplitDwarfFile; in initTargetOptions()
468 Options.MCOptions.EmitDwarfUnwind = CodeGenOpts.getEmitDwarfUnwind(); in initTargetOptions()
469 Options.MCOptions.MCRelaxAll = CodeGenOpts.RelaxAll; in initTargetOptions()
470 Options.MCOptions.MCSaveTempLabels = CodeGenOpts.SaveTempLabels; in initTargetOptions()
472 CodeGenOpts.NoDwarfDirectoryAsm in initTargetOptions()
475 Options.MCOptions.MCNoExecStack = CodeGenOpts.NoExecStack; in initTargetOptions()
477 CodeGenOpts.IncrementalLinkerCompatible; in initTargetOptions()
478 Options.MCOptions.MCFatalWarnings = CodeGenOpts.FatalWarnings; in initTargetOptions()
479 Options.MCOptions.MCNoWarn = CodeGenOpts.NoWarn; in initTargetOptions()
480 Options.MCOptions.AsmVerbose = CodeGenOpts.AsmVerbose; in initTargetOptions()
481 Options.MCOptions.Dwarf64 = CodeGenOpts.Dwarf64; in initTargetOptions()
482 Options.MCOptions.PreserveAsmComments = CodeGenOpts.PreserveAsmComments; in initTargetOptions()
491 Options.MCOptions.Argv0 = CodeGenOpts.Argv0; in initTargetOptions()
492 Options.MCOptions.CommandLineArgs = CodeGenOpts.CommandLineArgs; in initTargetOptions()
493 Options.MCOptions.AsSecureLogFile = CodeGenOpts.AsSecureLogFile; in initTargetOptions()
494 Options.MisExpect = CodeGenOpts.MisExpect; in initTargetOptions()
500 getGCOVOptions(const CodeGenOptions &CodeGenOpts, const LangOptions &LangOpts) { in getGCOVOptions() argument
501 if (!CodeGenOpts.EmitGcovArcs && !CodeGenOpts.EmitGcovNotes) in getGCOVOptions()
506 Options.EmitNotes = CodeGenOpts.EmitGcovNotes; in getGCOVOptions()
507 Options.EmitData = CodeGenOpts.EmitGcovArcs; in getGCOVOptions()
508 llvm::copy(CodeGenOpts.CoverageVersion, std::begin(Options.Version)); in getGCOVOptions()
509 Options.NoRedZone = CodeGenOpts.DisableRedZone; in getGCOVOptions()
510 Options.Filter = CodeGenOpts.ProfileFilterFiles; in getGCOVOptions()
511 Options.Exclude = CodeGenOpts.ProfileExcludeFiles; in getGCOVOptions()
512 Options.Atomic = CodeGenOpts.AtomicProfileUpdate; in getGCOVOptions()
517 getInstrProfOptions(const CodeGenOptions &CodeGenOpts, in getInstrProfOptions() argument
519 if (!CodeGenOpts.hasProfileClangInstr()) in getInstrProfOptions()
522 Options.NoRedZone = CodeGenOpts.DisableRedZone; in getInstrProfOptions()
523 Options.InstrProfileOutput = CodeGenOpts.InstrProfileOutput; in getInstrProfOptions()
524 Options.Atomic = CodeGenOpts.AtomicProfileUpdate; in getInstrProfOptions()
528 static void setCommandLineOpts(const CodeGenOptions &CodeGenOpts) { in setCommandLineOpts() argument
531 if (!CodeGenOpts.DebugPass.empty()) { in setCommandLineOpts()
533 BackendArgs.push_back(CodeGenOpts.DebugPass.c_str()); in setCommandLineOpts()
535 if (!CodeGenOpts.LimitFloatPrecision.empty()) { in setCommandLineOpts()
537 BackendArgs.push_back(CodeGenOpts.LimitFloatPrecision.c_str()); in setCommandLineOpts()
563 std::optional<llvm::CodeModel::Model> CM = getCodeModel(CodeGenOpts); in CreateTargetMachine()
566 llvm::Reloc::Model RM = CodeGenOpts.RelocationModel; in CreateTargetMachine()
568 CodeGenOpt::getLevel(CodeGenOpts.OptimizationLevel); in CreateTargetMachine()
573 if (!initTargetOptions(Diags, Options, CodeGenOpts, TargetOpts, LangOpts, in CreateTargetMachine()
586 createTLII(TargetTriple, CodeGenOpts)); in AddEmitPasses()
596 if (CodeGenOpts.OptimizationLevel > 0) in AddEmitPasses()
600 /*DisableVerify=*/!CodeGenOpts.VerifyModule)) { in AddEmitPasses()
665 const CodeGenOptions &CodeGenOpts, in addSanitizers() argument
669 if (CodeGenOpts.hasSanitizeCoverage()) { in addSanitizers()
670 auto SancovOpts = getSancovOptsFromCGOpts(CodeGenOpts); in addSanitizers()
672 SancovOpts, CodeGenOpts.SanitizeCoverageAllowlistFiles, in addSanitizers()
673 CodeGenOpts.SanitizeCoverageIgnorelistFiles)); in addSanitizers()
676 if (CodeGenOpts.hasSanitizeBinaryMetadata()) { in addSanitizers()
678 getSanitizerBinaryMetadataOptions(CodeGenOpts))); in addSanitizers()
683 int TrackOrigins = CodeGenOpts.SanitizeMemoryTrackOrigins; in addSanitizers()
684 bool Recover = CodeGenOpts.SanitizeRecover.has(Mask); in addSanitizers()
687 CodeGenOpts.SanitizeMemoryParamRetval); in addSanitizers()
715 bool UseGlobalGC = asanUseGlobalsGC(TargetTriple, CodeGenOpts); in addSanitizers()
716 bool UseOdrIndicator = CodeGenOpts.SanitizeAddressUseOdrIndicator; in addSanitizers()
718 CodeGenOpts.getSanitizeAddressDtor(); in addSanitizers()
721 Opts.Recover = CodeGenOpts.SanitizeRecover.has(Mask); in addSanitizers()
722 Opts.UseAfterScope = CodeGenOpts.SanitizeAddressUseAfterScope; in addSanitizers()
723 Opts.UseAfterReturn = CodeGenOpts.getSanitizeAddressUseAfterReturn(); in addSanitizers()
733 bool Recover = CodeGenOpts.SanitizeRecover.has(Mask); in addSanitizers()
736 /*DisableOptimization=*/CodeGenOpts.OptimizationLevel == 0})); in addSanitizers()
768 if (CodeGenOpts.hasProfileIRInstr()) in RunOptimizationPipeline()
770 PGOOpt = PGOOptions(CodeGenOpts.InstrProfileOutput.empty() in RunOptimizationPipeline()
772 : CodeGenOpts.InstrProfileOutput, in RunOptimizationPipeline()
774 CodeGenOpts.DebugInfoForProfiling); in RunOptimizationPipeline()
775 else if (CodeGenOpts.hasProfileIRUse()) { in RunOptimizationPipeline()
777 auto CSAction = CodeGenOpts.hasProfileCSIRUse() ? PGOOptions::CSIRUse in RunOptimizationPipeline()
779 PGOOpt = PGOOptions(CodeGenOpts.ProfileInstrumentUsePath, "", in RunOptimizationPipeline()
780 CodeGenOpts.ProfileRemappingFile, PGOOptions::IRUse, in RunOptimizationPipeline()
781 CSAction, CodeGenOpts.DebugInfoForProfiling); in RunOptimizationPipeline()
782 } else if (!CodeGenOpts.SampleProfileFile.empty()) in RunOptimizationPipeline()
785 CodeGenOpts.SampleProfileFile, "", CodeGenOpts.ProfileRemappingFile, in RunOptimizationPipeline()
787 CodeGenOpts.DebugInfoForProfiling, CodeGenOpts.PseudoProbeForProfiling); in RunOptimizationPipeline()
788 else if (CodeGenOpts.PseudoProbeForProfiling) in RunOptimizationPipeline()
792 CodeGenOpts.DebugInfoForProfiling, true); in RunOptimizationPipeline()
793 else if (CodeGenOpts.DebugInfoForProfiling) in RunOptimizationPipeline()
799 if (CodeGenOpts.hasProfileCSIRInstr()) { in RunOptimizationPipeline()
800 assert(!CodeGenOpts.hasProfileCSIRUse() && in RunOptimizationPipeline()
808 PGOOpt->CSProfileGenFile = CodeGenOpts.InstrProfileOutput.empty() in RunOptimizationPipeline()
810 : CodeGenOpts.InstrProfileOutput; in RunOptimizationPipeline()
814 CodeGenOpts.InstrProfileOutput.empty() in RunOptimizationPipeline()
816 : CodeGenOpts.InstrProfileOutput, in RunOptimizationPipeline()
818 CodeGenOpts.DebugInfoForProfiling); in RunOptimizationPipeline()
824 PTO.LoopUnrolling = CodeGenOpts.UnrollLoops; in RunOptimizationPipeline()
827 PTO.LoopInterleaving = CodeGenOpts.UnrollLoops; in RunOptimizationPipeline()
828 PTO.LoopVectorization = CodeGenOpts.VectorizeLoop; in RunOptimizationPipeline()
829 PTO.SLPVectorization = CodeGenOpts.VectorizeSLP; in RunOptimizationPipeline()
830 PTO.MergeFunctions = CodeGenOpts.MergeFunctions; in RunOptimizationPipeline()
833 PTO.CallGraphProfile = !CodeGenOpts.DisableIntegratedAS; in RunOptimizationPipeline()
840 bool DebugPassStructure = CodeGenOpts.DebugPass == "Structure"; in RunOptimizationPipeline()
847 (CodeGenOpts.DebugPassManager || DebugPassStructure), in RunOptimizationPipeline()
852 if (CodeGenOpts.EnableAssignmentTracking) { in RunOptimizationPipeline()
862 if (CodeGenOpts.EnableDIPreservationVerify) { in RunOptimizationPipeline()
866 if (!CodeGenOpts.DIBugsReportFilePath.empty()) in RunOptimizationPipeline()
868 CodeGenOpts.DIBugsReportFilePath); in RunOptimizationPipeline()
872 for (auto &PluginFN : CodeGenOpts.PassPlugins) { in RunOptimizationPipeline()
888 createTLII(TargetTriple, CodeGenOpts)); in RunOptimizationPipeline()
900 if (!CodeGenOpts.DisableLLVMPasses) { in RunOptimizationPipeline()
903 OptimizationLevel Level = mapToLevel(CodeGenOpts); in RunOptimizationPipeline()
905 bool IsThinLTO = CodeGenOpts.PrepareForThinLTO; in RunOptimizationPipeline()
906 bool IsLTO = CodeGenOpts.PrepareForLTO; in RunOptimizationPipeline()
930 bool IsThinLTOPostLink = !CodeGenOpts.ThinLTOIndexFile.empty(); in RunOptimizationPipeline()
941 if (CodeGenOpts.InstrumentFunctions || in RunOptimizationPipeline()
942 CodeGenOpts.InstrumentFunctionEntryBare || in RunOptimizationPipeline()
943 CodeGenOpts.InstrumentFunctionsAfterInlining || in RunOptimizationPipeline()
944 CodeGenOpts.InstrumentForProfiling) { in RunOptimizationPipeline()
968 addSanitizers(TargetTriple, CodeGenOpts, LangOpts, PB); in RunOptimizationPipeline()
973 getGCOVOptions(CodeGenOpts, LangOpts)) in RunOptimizationPipeline()
979 getInstrProfOptions(CodeGenOpts, LangOpts)) in RunOptimizationPipeline()
985 if (CodeGenOpts.OptimizationLevel == 0) { in RunOptimizationPipeline()
995 if (!CodeGenOpts.MemoryProfileOutput.empty()) { in RunOptimizationPipeline()
1004 if (!actionRequiresCodeGen(Action) && CodeGenOpts.VerifyModule) in RunOptimizationPipeline()
1008 if (CodeGenOpts.PrepareForThinLTO && !CodeGenOpts.DisableLLVMPasses) { in RunOptimizationPipeline()
1011 CodeGenOpts.EnableSplitLTOUnit); in RunOptimizationPipeline()
1013 if (!CodeGenOpts.ThinLinkBitcodeFile.empty()) { in RunOptimizationPipeline()
1014 ThinLinkOS = openOutputFile(CodeGenOpts.ThinLinkBitcodeFile); in RunOptimizationPipeline()
1021 MPM.addPass(PrintModulePass(*OS, "", CodeGenOpts.EmitLLVMUseLists, in RunOptimizationPipeline()
1037 MPM.addPass(BitcodeWriterPass(*OS, CodeGenOpts.EmitLLVMUseLists, in RunOptimizationPipeline()
1040 MPM.addPass(PrintModulePass(*OS, "", CodeGenOpts.EmitLLVMUseLists, in RunOptimizationPipeline()
1068 if (!CodeGenOpts.SplitDwarfOutput.empty()) { in RunCodegenPipeline()
1069 DwoOS = openOutputFile(CodeGenOpts.SplitDwarfOutput); in RunCodegenPipeline()
1091 TimeRegion Region(CodeGenOpts.TimePasses ? &CodeGenerationTime : nullptr); in EmitAssembly()
1092 setCommandLineOpts(CodeGenOpts); in EmitAssembly()