Lines Matching refs:CodeGenOpts

111   const CodeGenOptions &CodeGenOpts;  member in __anond17872740111::EmitAssemblyHelper
170 return CodeGenOpts.PrepareForLTO && !CodeGenOpts.DisableLLVMPasses && in shouldEmitRegularLTOSummary()
180 : Diags(_Diags), HSOpts(HeaderSearchOpts), CodeGenOpts(CGOpts), in EmitAssemblyHelper()
186 if (CodeGenOpts.DisableFree) in ~EmitAssemblyHelper()
248 const CodeGenOptions &CodeGenOpts) { in createTLII() argument
251 switch (CodeGenOpts.getVecLib()) { in createTLII()
281 static CodeGenOpt::Level getCGOptLevel(const CodeGenOptions &CodeGenOpts) { in getCGOptLevel() argument
282 switch (CodeGenOpts.OptimizationLevel) { in getCGOptLevel()
297 getCodeModel(const CodeGenOptions &CodeGenOpts) { in getCodeModel() argument
298 unsigned CodeModel = llvm::StringSwitch<unsigned>(CodeGenOpts.CodeModel) in getCodeModel()
330 const CodeGenOptions &CodeGenOpts, in initTargetOptions() argument
344 assert((CodeGenOpts.FloatABI == "soft" || CodeGenOpts.FloatABI == "softfp" || in initTargetOptions()
345 CodeGenOpts.FloatABI == "hard" || CodeGenOpts.FloatABI.empty()) && in initTargetOptions()
348 llvm::StringSwitch<llvm::FloatABI::ABIType>(CodeGenOpts.FloatABI) in initTargetOptions()
371 llvm::TargetMachine::parseBinutilsVersion(CodeGenOpts.BinutilsVersion); in initTargetOptions()
372 Options.UseInitArray = CodeGenOpts.UseInitArray; in initTargetOptions()
374 CodeGenOpts.RegisterGlobalDtorsWithAtExit; in initTargetOptions()
375 Options.DisableIntegratedAS = CodeGenOpts.DisableIntegratedAS; in initTargetOptions()
376 Options.CompressDebugSections = CodeGenOpts.getCompressDebugSections(); in initTargetOptions()
377 Options.RelaxELFRelocations = CodeGenOpts.RelaxELFRelocations; in initTargetOptions()
393 Options.NoZerosInBSS = CodeGenOpts.NoZeroInitializedInBSS; in initTargetOptions()
398 llvm::StringSwitch<llvm::BasicBlockSection>(CodeGenOpts.BBSections) in initTargetOptions()
407 MemoryBuffer::getFile(CodeGenOpts.BBSections.substr(5)); in initTargetOptions()
416 Options.EnableMachineFunctionSplitter = CodeGenOpts.SplitMachineFunctions; in initTargetOptions()
417 Options.FunctionSections = CodeGenOpts.FunctionSections; in initTargetOptions()
418 Options.DataSections = CodeGenOpts.DataSections; in initTargetOptions()
420 Options.UniqueSectionNames = CodeGenOpts.UniqueSectionNames; in initTargetOptions()
422 CodeGenOpts.UniqueBasicBlockSectionNames; in initTargetOptions()
423 Options.TLSSize = CodeGenOpts.TLSSize; in initTargetOptions()
424 Options.EmulatedTLS = CodeGenOpts.EmulatedTLS; in initTargetOptions()
425 Options.ExplicitEmulatedTLS = CodeGenOpts.ExplicitEmulatedTLS; in initTargetOptions()
426 Options.DebuggerTuning = CodeGenOpts.getDebuggerTuning(); in initTargetOptions()
427 Options.EmitStackSizeSection = CodeGenOpts.StackSizeSection; in initTargetOptions()
428 Options.StackUsageOutput = CodeGenOpts.StackUsageOutput; in initTargetOptions()
429 Options.EmitAddrsig = CodeGenOpts.Addrsig; in initTargetOptions()
430 Options.ForceDwarfFrameSection = CodeGenOpts.ForceDwarfFrameSection; in initTargetOptions()
431 Options.EmitCallSiteInfo = CodeGenOpts.EmitCallSiteInfo; in initTargetOptions()
432 Options.EnableAIXExtendedAltivecABI = CodeGenOpts.EnableAIXExtendedAltivecABI; in initTargetOptions()
433 Options.XRayOmitFunctionIndex = CodeGenOpts.XRayOmitFunctionIndex; in initTargetOptions()
434 Options.LoopAlignment = CodeGenOpts.LoopAlignment; in initTargetOptions()
435 Options.DebugStrictDwarf = CodeGenOpts.DebugStrictDwarf; in initTargetOptions()
436 Options.ObjectFilenameForDebug = CodeGenOpts.ObjectFilenameForDebug; in initTargetOptions()
437 Options.Hotpatch = CodeGenOpts.HotPatch; in initTargetOptions()
438 Options.JMCInstrument = CodeGenOpts.JMCInstrument; in initTargetOptions()
440 switch (CodeGenOpts.getSwiftAsyncFramePointer()) { in initTargetOptions()
455 Options.MCOptions.SplitDwarfFile = CodeGenOpts.SplitDwarfFile; in initTargetOptions()
456 Options.MCOptions.EmitDwarfUnwind = CodeGenOpts.getEmitDwarfUnwind(); in initTargetOptions()
457 Options.MCOptions.MCRelaxAll = CodeGenOpts.RelaxAll; in initTargetOptions()
458 Options.MCOptions.MCSaveTempLabels = CodeGenOpts.SaveTempLabels; in initTargetOptions()
460 CodeGenOpts.NoDwarfDirectoryAsm in initTargetOptions()
463 Options.MCOptions.MCNoExecStack = CodeGenOpts.NoExecStack; in initTargetOptions()
465 CodeGenOpts.IncrementalLinkerCompatible; in initTargetOptions()
466 Options.MCOptions.MCFatalWarnings = CodeGenOpts.FatalWarnings; in initTargetOptions()
467 Options.MCOptions.MCNoWarn = CodeGenOpts.NoWarn; in initTargetOptions()
468 Options.MCOptions.AsmVerbose = CodeGenOpts.AsmVerbose; in initTargetOptions()
469 Options.MCOptions.Dwarf64 = CodeGenOpts.Dwarf64; in initTargetOptions()
470 Options.MCOptions.PreserveAsmComments = CodeGenOpts.PreserveAsmComments; in initTargetOptions()
479 Options.MCOptions.Argv0 = CodeGenOpts.Argv0; in initTargetOptions()
480 Options.MCOptions.CommandLineArgs = CodeGenOpts.CommandLineArgs; in initTargetOptions()
481 Options.MisExpect = CodeGenOpts.MisExpect; in initTargetOptions()
486 static Optional<GCOVOptions> getGCOVOptions(const CodeGenOptions &CodeGenOpts, in getGCOVOptions() argument
488 if (!CodeGenOpts.EmitGcovArcs && !CodeGenOpts.EmitGcovNotes) in getGCOVOptions()
493 Options.EmitNotes = CodeGenOpts.EmitGcovNotes; in getGCOVOptions()
494 Options.EmitData = CodeGenOpts.EmitGcovArcs; in getGCOVOptions()
495 llvm::copy(CodeGenOpts.CoverageVersion, std::begin(Options.Version)); in getGCOVOptions()
496 Options.NoRedZone = CodeGenOpts.DisableRedZone; in getGCOVOptions()
497 Options.Filter = CodeGenOpts.ProfileFilterFiles; in getGCOVOptions()
498 Options.Exclude = CodeGenOpts.ProfileExcludeFiles; in getGCOVOptions()
499 Options.Atomic = CodeGenOpts.AtomicProfileUpdate; in getGCOVOptions()
504 getInstrProfOptions(const CodeGenOptions &CodeGenOpts, in getInstrProfOptions() argument
506 if (!CodeGenOpts.hasProfileClangInstr()) in getInstrProfOptions()
509 Options.NoRedZone = CodeGenOpts.DisableRedZone; in getInstrProfOptions()
510 Options.InstrProfileOutput = CodeGenOpts.InstrProfileOutput; in getInstrProfOptions()
511 Options.Atomic = CodeGenOpts.AtomicProfileUpdate; in getInstrProfOptions()
515 static void setCommandLineOpts(const CodeGenOptions &CodeGenOpts) { in setCommandLineOpts() argument
518 if (!CodeGenOpts.DebugPass.empty()) { in setCommandLineOpts()
520 BackendArgs.push_back(CodeGenOpts.DebugPass.c_str()); in setCommandLineOpts()
522 if (!CodeGenOpts.LimitFloatPrecision.empty()) { in setCommandLineOpts()
524 BackendArgs.push_back(CodeGenOpts.LimitFloatPrecision.c_str()); in setCommandLineOpts()
550 Optional<llvm::CodeModel::Model> CM = getCodeModel(CodeGenOpts); in CreateTargetMachine()
553 llvm::Reloc::Model RM = CodeGenOpts.RelocationModel; in CreateTargetMachine()
554 CodeGenOpt::Level OptLevel = getCGOptLevel(CodeGenOpts); in CreateTargetMachine()
557 if (!initTargetOptions(Diags, Options, CodeGenOpts, TargetOpts, LangOpts, in CreateTargetMachine()
570 createTLII(TargetTriple, CodeGenOpts)); in AddEmitPasses()
580 if (CodeGenOpts.OptimizationLevel > 0) in AddEmitPasses()
584 /*DisableVerify=*/!CodeGenOpts.VerifyModule)) { in AddEmitPasses()
624 const CodeGenOptions &CodeGenOpts, in addSanitizers() argument
628 if (CodeGenOpts.hasSanitizeCoverage()) { in addSanitizers()
629 auto SancovOpts = getSancovOptsFromCGOpts(CodeGenOpts); in addSanitizers()
631 SancovOpts, CodeGenOpts.SanitizeCoverageAllowlistFiles, in addSanitizers()
632 CodeGenOpts.SanitizeCoverageIgnorelistFiles)); in addSanitizers()
637 int TrackOrigins = CodeGenOpts.SanitizeMemoryTrackOrigins; in addSanitizers()
638 bool Recover = CodeGenOpts.SanitizeRecover.has(Mask); in addSanitizers()
641 CodeGenOpts.SanitizeMemoryParamRetval); in addSanitizers()
670 bool UseGlobalGC = asanUseGlobalsGC(TargetTriple, CodeGenOpts); in addSanitizers()
671 bool UseOdrIndicator = CodeGenOpts.SanitizeAddressUseOdrIndicator; in addSanitizers()
673 CodeGenOpts.getSanitizeAddressDtor(); in addSanitizers()
676 Opts.Recover = CodeGenOpts.SanitizeRecover.has(Mask); in addSanitizers()
677 Opts.UseAfterScope = CodeGenOpts.SanitizeAddressUseAfterScope; in addSanitizers()
678 Opts.UseAfterReturn = CodeGenOpts.getSanitizeAddressUseAfterReturn(); in addSanitizers()
688 bool Recover = CodeGenOpts.SanitizeRecover.has(Mask); in addSanitizers()
691 /*DisableOptimization=*/CodeGenOpts.OptimizationLevel == 0})); in addSanitizers()
708 if (CodeGenOpts.hasProfileIRInstr()) in RunOptimizationPipeline()
710 PGOOpt = PGOOptions(CodeGenOpts.InstrProfileOutput.empty() in RunOptimizationPipeline()
712 : CodeGenOpts.InstrProfileOutput, in RunOptimizationPipeline()
714 CodeGenOpts.DebugInfoForProfiling); in RunOptimizationPipeline()
715 else if (CodeGenOpts.hasProfileIRUse()) { in RunOptimizationPipeline()
717 auto CSAction = CodeGenOpts.hasProfileCSIRUse() ? PGOOptions::CSIRUse in RunOptimizationPipeline()
719 PGOOpt = PGOOptions(CodeGenOpts.ProfileInstrumentUsePath, "", in RunOptimizationPipeline()
720 CodeGenOpts.ProfileRemappingFile, PGOOptions::IRUse, in RunOptimizationPipeline()
721 CSAction, CodeGenOpts.DebugInfoForProfiling); in RunOptimizationPipeline()
722 } else if (!CodeGenOpts.SampleProfileFile.empty()) in RunOptimizationPipeline()
725 CodeGenOpts.SampleProfileFile, "", CodeGenOpts.ProfileRemappingFile, in RunOptimizationPipeline()
727 CodeGenOpts.DebugInfoForProfiling, CodeGenOpts.PseudoProbeForProfiling); in RunOptimizationPipeline()
728 else if (CodeGenOpts.PseudoProbeForProfiling) in RunOptimizationPipeline()
732 CodeGenOpts.DebugInfoForProfiling, true); in RunOptimizationPipeline()
733 else if (CodeGenOpts.DebugInfoForProfiling) in RunOptimizationPipeline()
739 if (CodeGenOpts.hasProfileCSIRInstr()) { in RunOptimizationPipeline()
740 assert(!CodeGenOpts.hasProfileCSIRUse() && in RunOptimizationPipeline()
748 PGOOpt->CSProfileGenFile = CodeGenOpts.InstrProfileOutput.empty() in RunOptimizationPipeline()
750 : CodeGenOpts.InstrProfileOutput; in RunOptimizationPipeline()
754 CodeGenOpts.InstrProfileOutput.empty() in RunOptimizationPipeline()
756 : CodeGenOpts.InstrProfileOutput, in RunOptimizationPipeline()
758 CodeGenOpts.DebugInfoForProfiling); in RunOptimizationPipeline()
764 PTO.LoopUnrolling = CodeGenOpts.UnrollLoops; in RunOptimizationPipeline()
767 PTO.LoopInterleaving = CodeGenOpts.UnrollLoops; in RunOptimizationPipeline()
768 PTO.LoopVectorization = CodeGenOpts.VectorizeLoop; in RunOptimizationPipeline()
769 PTO.SLPVectorization = CodeGenOpts.VectorizeSLP; in RunOptimizationPipeline()
770 PTO.MergeFunctions = CodeGenOpts.MergeFunctions; in RunOptimizationPipeline()
773 PTO.CallGraphProfile = !CodeGenOpts.DisableIntegratedAS; in RunOptimizationPipeline()
780 bool DebugPassStructure = CodeGenOpts.DebugPass == "Structure"; in RunOptimizationPipeline()
785 StandardInstrumentations SI(CodeGenOpts.DebugPassManager || in RunOptimizationPipeline()
794 if (CodeGenOpts.EnableDIPreservationVerify) { in RunOptimizationPipeline()
798 if (!CodeGenOpts.DIBugsReportFilePath.empty()) in RunOptimizationPipeline()
800 CodeGenOpts.DIBugsReportFilePath); in RunOptimizationPipeline()
804 for (auto &PluginFN : CodeGenOpts.PassPlugins) { in RunOptimizationPipeline()
820 createTLII(TargetTriple, CodeGenOpts)); in RunOptimizationPipeline()
832 if (!CodeGenOpts.DisableLLVMPasses) { in RunOptimizationPipeline()
835 OptimizationLevel Level = mapToLevel(CodeGenOpts); in RunOptimizationPipeline()
837 bool IsThinLTO = CodeGenOpts.PrepareForThinLTO; in RunOptimizationPipeline()
838 bool IsLTO = CodeGenOpts.PrepareForLTO; in RunOptimizationPipeline()
862 bool IsThinLTOPostLink = !CodeGenOpts.ThinLTOIndexFile.empty(); in RunOptimizationPipeline()
873 if (CodeGenOpts.InstrumentFunctions || in RunOptimizationPipeline()
874 CodeGenOpts.InstrumentFunctionEntryBare || in RunOptimizationPipeline()
875 CodeGenOpts.InstrumentFunctionsAfterInlining || in RunOptimizationPipeline()
876 CodeGenOpts.InstrumentForProfiling) { in RunOptimizationPipeline()
900 addSanitizers(TargetTriple, CodeGenOpts, LangOpts, PB); in RunOptimizationPipeline()
902 if (Optional<GCOVOptions> Options = getGCOVOptions(CodeGenOpts, LangOpts)) in RunOptimizationPipeline()
908 getInstrProfOptions(CodeGenOpts, LangOpts)) in RunOptimizationPipeline()
914 if (CodeGenOpts.OptimizationLevel == 0) { in RunOptimizationPipeline()
924 if (!CodeGenOpts.MemoryProfileOutput.empty()) { in RunOptimizationPipeline()
933 if (!actionRequiresCodeGen(Action) && CodeGenOpts.VerifyModule) in RunOptimizationPipeline()
938 if (CodeGenOpts.PrepareForThinLTO && !CodeGenOpts.DisableLLVMPasses) { in RunOptimizationPipeline()
939 if (!CodeGenOpts.ThinLinkBitcodeFile.empty()) { in RunOptimizationPipeline()
940 ThinLinkOS = openOutputFile(CodeGenOpts.ThinLinkBitcodeFile); in RunOptimizationPipeline()
946 CodeGenOpts.EnableSplitLTOUnit); in RunOptimizationPipeline()
961 BitcodeWriterPass(*OS, CodeGenOpts.EmitLLVMUseLists, EmitLTOSummary)); in RunOptimizationPipeline()
966 MPM.addPass(PrintModulePass(*OS, "", CodeGenOpts.EmitLLVMUseLists)); in RunOptimizationPipeline()
996 if (!CodeGenOpts.SplitDwarfOutput.empty()) { in RunCodegenPipeline()
997 DwoOS = openOutputFile(CodeGenOpts.SplitDwarfOutput); in RunCodegenPipeline()
1019 TimeRegion Region(CodeGenOpts.TimePasses ? &CodeGenerationTime : nullptr); in EmitAssembly()
1020 setCommandLineOpts(CodeGenOpts); in EmitAssembly()