llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang Author: Jan Svoboda (jansvoboda11) <details> <summary>Changes</summary> This is the `CodeGenOptions` counterpart to https://github.com/llvm/llvm-project/pull/146766. --- Patch is 68.79 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/146910.diff 5 Files Affected: - (modified) clang/include/clang/Basic/CodeGenOptions.def (+316-324) - (modified) clang/include/clang/Basic/CodeGenOptions.h (+20-7) - (modified) clang/include/clang/Basic/DebugOptions.def (+59-80) - (modified) clang/lib/Basic/CodeGenOptions.cpp (+22-26) - (modified) clang/lib/Frontend/CompilerInvocation.cpp (+11-7) ``````````diff diff --git a/clang/include/clang/Basic/CodeGenOptions.def b/clang/include/clang/Basic/CodeGenOptions.def index e5566a540dc65..0eba77398a22d 100644 --- a/clang/include/clang/Basic/CodeGenOptions.def +++ b/clang/include/clang/Basic/CodeGenOptions.def @@ -12,481 +12,473 @@ // that have enumeration type and VALUE_CODEGENOPT is a code // generation option that describes a value rather than a flag. // -// AFFECTING_VALUE_CODEGENOPT is used for code generation options that can -// affect the AST. -// //===----------------------------------------------------------------------===// #ifndef CODEGENOPT -# error Define the CODEGENOPT macro to handle language options +# error Define the CODEGENOPT macro to handle codegen options #endif #ifndef VALUE_CODEGENOPT -# define VALUE_CODEGENOPT(Name, Bits, Default) \ -CODEGENOPT(Name, Bits, Default) +# define VALUE_CODEGENOPT(Name, Bits, Default, Compatibility) \ +CODEGENOPT(Name, Bits, Default, Compatibility) #endif #ifndef ENUM_CODEGENOPT -# define ENUM_CODEGENOPT(Name, Type, Bits, Default) \ -CODEGENOPT(Name, Bits, Default) -#endif - -#ifndef AFFECTING_VALUE_CODEGENOPT -# define AFFECTING_VALUE_CODEGENOPT(Name, Bits, Default) \ -VALUE_CODEGENOPT(Name, Bits, Default) +# define ENUM_CODEGENOPT(Name, Type, Bits, Default, Compatibility) \ +CODEGENOPT(Name, Bits, Default, Compatibility) #endif -CODEGENOPT(DisableIntegratedAS, 1, 0) ///< -no-integrated-as -CODEGENOPT(Crel, 1, 0) ///< -Wa,--crel -CODEGENOPT(ImplicitMapSyms, 1, 0) ///< -Wa,-mmapsyms=implicit -CODEGENOPT(AsmVerbose , 1, 0) ///< -dA, -fverbose-asm. -CODEGENOPT(PreserveAsmComments, 1, 1) ///< -dA, -fno-preserve-as-comments. -CODEGENOPT(AssumeSaneOperatorNew , 1, 1) ///< implicit __attribute__((malloc)) operator new -CODEGENOPT(AssumeUniqueVTables , 1, 1) ///< Assume a class has only one vtable. -CODEGENOPT(Autolink , 1, 1) ///< -fno-autolink -CODEGENOPT(AutoImport , 1, 1) ///< -fno-auto-import -CODEGENOPT(ObjCAutoRefCountExceptions , 1, 0) ///< Whether ARC should be EH-safe. -CODEGENOPT(Backchain , 1, 0) ///< -mbackchain -CODEGENOPT(ControlFlowGuardNoChecks , 1, 0) ///< -cfguard-no-checks -CODEGENOPT(ControlFlowGuard , 1, 0) ///< -cfguard -CODEGENOPT(EHContGuard , 1, 0) ///< -ehcontguard -CODEGENOPT(CXAAtExit , 1, 1) ///< Use __cxa_atexit for calling destructors. -CODEGENOPT(RegisterGlobalDtorsWithAtExit, 1, 1) ///< Use atexit or __cxa_atexit to register global destructors. -CODEGENOPT(CXXCtorDtorAliases, 1, 0) ///< Emit complete ctors/dtors as linker +CODEGENOPT(DisableIntegratedAS, 1, 0, Benign) ///< -no-integrated-as +CODEGENOPT(Crel, 1, 0, Benign) ///< -Wa,--crel +CODEGENOPT(ImplicitMapSyms, 1, 0, Benign) ///< -Wa,-mmapsyms=implicit +CODEGENOPT(AsmVerbose , 1, 0, Benign) ///< -dA, -fverbose-asm. +CODEGENOPT(PreserveAsmComments, 1, 1, Benign) ///< -dA, -fno-preserve-as-comments. +CODEGENOPT(AssumeSaneOperatorNew , 1, 1, Benign) ///< implicit __attribute__((malloc)) operator new +CODEGENOPT(AssumeUniqueVTables , 1, 1, Benign) ///< Assume a class has only one vtable. +CODEGENOPT(Autolink , 1, 1, Benign) ///< -fno-autolink +CODEGENOPT(AutoImport , 1, 1, Benign) ///< -fno-auto-import +CODEGENOPT(ObjCAutoRefCountExceptions , 1, 0, Benign) ///< Whether ARC should be EH-safe. +CODEGENOPT(Backchain , 1, 0, Benign) ///< -mbackchain +CODEGENOPT(ControlFlowGuardNoChecks , 1, 0, Benign) ///< -cfguard-no-checks +CODEGENOPT(ControlFlowGuard , 1, 0, Benign) ///< -cfguard +CODEGENOPT(EHContGuard , 1, 0, Benign) ///< -ehcontguard +CODEGENOPT(CXAAtExit , 1, 1, Benign) ///< Use __cxa_atexit for calling destructors. +CODEGENOPT(RegisterGlobalDtorsWithAtExit, 1, 1, Benign) ///< Use atexit or __cxa_atexit to register global destructors. +CODEGENOPT(CXXCtorDtorAliases, 1, 0, Benign) ///< Emit complete ctors/dtors as linker ///< aliases to base ctors when possible. -CODEGENOPT(DataSections , 1, 0) ///< Set when -fdata-sections is enabled. -CODEGENOPT(UniqueSectionNames, 1, 1) ///< Set for -funique-section-names. -CODEGENOPT(UniqueBasicBlockSectionNames, 1, 1) ///< Set for -funique-basic-block-section-names, +CODEGENOPT(DataSections , 1, 0, Benign) ///< Set when -fdata-sections is enabled. +CODEGENOPT(UniqueSectionNames, 1, 1, Benign) ///< Set for -funique-section-names. +CODEGENOPT(UniqueBasicBlockSectionNames, 1, 1, Benign) ///< Set for -funique-basic-block-section-names, ///< Produce unique section names with ///< basic block sections. -CODEGENOPT(SeparateNamedSections, 1, 0) ///< Set for -fseparate-named-sections. -CODEGENOPT(EnableAIXExtendedAltivecABI, 1, 0) ///< Set for -mabi=vec-extabi. Enables the extended Altivec ABI on AIX. -CODEGENOPT(XCOFFReadOnlyPointers, 1, 0) ///< Set for -mxcoff-roptr. -CODEGENOPT(AllTocData, 1, 0) ///< AIX -mtocdata -ENUM_CODEGENOPT(FramePointer, FramePointerKind, 2, FramePointerKind::None) /// frame-pointer: all,non-leaf,reserved,none - -CODEGENOPT(ClearASTBeforeBackend , 1, 0) ///< Free the AST before running backend code generation. Only works with -disable-free. -CODEGENOPT(DisableFree , 1, 0) ///< Don't free memory. -CODEGENOPT(DiscardValueNames , 1, 0) ///< Discard Value Names from the IR (LLVMContext flag) -CODEGENOPT(DisableLLVMPasses , 1, 0) ///< Don't run any LLVM IR passes to get - ///< the pristine IR generated by the - ///< frontend. -CODEGENOPT(DisableLifetimeMarkers, 1, 0) ///< Don't emit any lifetime markers -CODEGENOPT(DisableO0ImplyOptNone , 1, 0) ///< Don't annonate function with optnone at O0 -CODEGENOPT(ExperimentalStrictFloatingPoint, 1, 0) ///< Enables the new, experimental - ///< strict floating point. -CODEGENOPT(EnableNoundefAttrs, 1, 0) ///< Enable emitting `noundef` attributes on IR call arguments and return values -CODEGENOPT(DebugPassManager, 1, 0) ///< Prints debug information for the new - ///< pass manager. -CODEGENOPT(DisableRedZone , 1, 0) ///< Set when -mno-red-zone is enabled. -CODEGENOPT(EmitCallSiteInfo, 1, 0) ///< Emit call site info only in the case of - ///< '-g' + 'O>0' level. -CODEGENOPT(IndirectTlsSegRefs, 1, 0) ///< Set when -mno-tls-direct-seg-refs - ///< is specified. -CODEGENOPT(DisableTailCalls , 1, 0) ///< Do not emit tail calls. -CODEGENOPT(NoEscapingBlockTailCalls, 1, 0) ///< Do not emit tail calls from - ///< escaping blocks. -CODEGENOPT(EmitDeclMetadata , 1, 0) ///< Emit special metadata indicating what - ///< Decl* various IR entities came from. - ///< Only useful when running CodeGen as a - ///< subroutine. -CODEGENOPT(EmitVersionIdentMetadata , 1, 1) ///< Emit compiler version metadata. -CODEGENOPT(EmitOpenCLArgMetadata , 1, 0) ///< Emit OpenCL kernel arg metadata. -CODEGENOPT(EmulatedTLS , 1, 0) ///< Set by default or -f[no-]emulated-tls. +CODEGENOPT(SeparateNamedSections, 1, 0, Benign) ///< Set for -fseparate-named-sections. +CODEGENOPT(EnableAIXExtendedAltivecABI, 1, 0, Benign) ///< Set for -mabi=vec-extabi. Enables the extended Altivec ABI on AIX. +CODEGENOPT(XCOFFReadOnlyPointers, 1, 0, Benign) ///< Set for -mxcoff-roptr. +CODEGENOPT(AllTocData, 1, 0, Benign) ///< AIX -mtocdata +ENUM_CODEGENOPT(FramePointer, FramePointerKind, 2, FramePointerKind::None, Benign) /// frame-pointer: all,non-leaf,reserved,none + +CODEGENOPT(ClearASTBeforeBackend , 1, 0, Benign) ///< Free the AST before running backend code generation. Only works with -disable-free. +CODEGENOPT(DisableFree , 1, 0, Benign) ///< Don't free memory. +CODEGENOPT(DiscardValueNames , 1, 0, Benign) ///< Discard Value Names from the IR (LLVMContext flag) +CODEGENOPT(DisableLLVMPasses , 1, 0, Benign) ///< Don't run any LLVM IR passes to get + ///< the pristine IR generated by the + ///< frontend. +CODEGENOPT(DisableLifetimeMarkers, 1, 0, Benign) ///< Don't emit any lifetime markers +CODEGENOPT(DisableO0ImplyOptNone , 1, 0, Benign) ///< Don't annonate function with optnone at O0 +CODEGENOPT(ExperimentalStrictFloatingPoint, 1, 0, Benign) ///< Enables the new, experimental + ///< strict floating point. +CODEGENOPT(EnableNoundefAttrs, 1, 0, Benign) ///< Enable emitting `noundef` attributes on IR call arguments and return values +CODEGENOPT(DebugPassManager, 1, 0, Benign) ///< Prints debug information for the new + ///< pass manager. +CODEGENOPT(DisableRedZone , 1, 0, Benign) ///< Set when -mno-red-zone is enabled. +CODEGENOPT(EmitCallSiteInfo, 1, 0, Benign) ///< Emit call site info only in the case of + ///< '-g' + 'O>0' level. +CODEGENOPT(IndirectTlsSegRefs, 1, 0, Benign) ///< Set when -mno-tls-direct-seg-refs + ///< is specified. +CODEGENOPT(DisableTailCalls , 1, 0, Benign) ///< Do not emit tail calls. +CODEGENOPT(NoEscapingBlockTailCalls, 1, 0, Benign) ///< Do not emit tail calls from + ///< escaping blocks. +CODEGENOPT(EmitDeclMetadata , 1, 0, Benign) ///< Emit special metadata indicating what + ///< Decl* various IR entities came from. + ///< Only useful when running CodeGen as a + ///< subroutine. +CODEGENOPT(EmitVersionIdentMetadata , 1, 1, Benign) ///< Emit compiler version metadata. +CODEGENOPT(EmitOpenCLArgMetadata , 1, 0, Benign) ///< Emit OpenCL kernel arg metadata. +CODEGENOPT(EmulatedTLS , 1, 0, Benign) ///< Set by default or -f[no-]emulated-tls. /// Embed Bitcode mode (off/all/bitcode/marker). -ENUM_CODEGENOPT(EmbedBitcode, EmbedBitcodeKind, 2, Embed_Off) +ENUM_CODEGENOPT(EmbedBitcode, EmbedBitcodeKind, 2, Embed_Off, Benign) /// Inline asm dialect, -masm=(att|intel) -ENUM_CODEGENOPT(InlineAsmDialect, InlineAsmDialectKind, 1, IAD_ATT) -CODEGENOPT(OutputAsmVariant, 2, 3) ///< Set the asm variant for output (3: unspecified). -CODEGENOPT(ForbidGuardVariables , 1, 0) ///< Issue errors if C++ guard variables - ///< are required. -CODEGENOPT(FunctionSections , 1, 0) ///< Set when -ffunction-sections is enabled. -CODEGENOPT(BBAddrMap , 1, 0) ///< Set when -fbasic-block-address-map is enabled. -CODEGENOPT(InstrumentFunctions , 1, 0) ///< Set when -finstrument-functions is - ///< enabled. -CODEGENOPT(InstrumentFunctionsAfterInlining , 1, 0) ///< Set when +ENUM_CODEGENOPT(InlineAsmDialect, InlineAsmDialectKind, 1, IAD_ATT, Benign) +CODEGENOPT(OutputAsmVariant, 2, 3, Benign) ///< Set the asm variant for output (3: unspecified). +CODEGENOPT(ForbidGuardVariables , 1, 0, Benign) ///< Issue errors if C++ guard variables + ///< are required. +CODEGENOPT(FunctionSections , 1, 0, Benign) ///< Set when -ffunction-sections is enabled. +CODEGENOPT(BBAddrMap , 1, 0, Benign) ///< Set when -fbasic-block-address-map is enabled. +CODEGENOPT(InstrumentFunctions , 1, 0, Benign) ///< Set when -finstrument-functions is + ///< enabled. +CODEGENOPT(InstrumentFunctionsAfterInlining , 1, 0, Benign) ///< Set when ///< -finstrument-functions-after-inlining is enabled. -CODEGENOPT(InstrumentFunctionEntryBare , 1, 0) ///< Set when +CODEGENOPT(InstrumentFunctionEntryBare , 1, 0, Benign) ///< Set when ///< -finstrument-function-entry-bare is enabled. -CODEGENOPT(CFProtectionReturn , 1, 0) ///< if -fcf-protection is +CODEGENOPT(CFProtectionReturn , 1, 0, Benign) ///< if -fcf-protection is ///< set to full or return. -CODEGENOPT(CFProtectionBranch , 1, 0) ///< if -fcf-protection is - ///< set to full or branch. +CODEGENOPT(CFProtectionBranch , 1, 0, Benign) ///< if -fcf-protection is + ///< set to full or branch. ENUM_CODEGENOPT(CFBranchLabelScheme, CFBranchLabelSchemeKind, 2, - CFBranchLabelSchemeKind::Default) ///< if -mcf-branch-label-scheme is set. -CODEGENOPT(FunctionReturnThunks, 1, 0) ///< -mfunction-return={keep|thunk-extern} -CODEGENOPT(IndirectBranchCSPrefix, 1, 0) ///< if -mindirect-branch-cs-prefix - ///< is set. + CFBranchLabelSchemeKind::Default, Benign) ///< if -mcf-branch-label-scheme is set. +CODEGENOPT(FunctionReturnThunks, 1, 0, Benign) ///< -mfunction-return={keep|thunk-extern} +CODEGENOPT(IndirectBranchCSPrefix, 1, 0, Benign) ///< if -mindirect-branch-cs-prefix + ///< is set. -CODEGENOPT(XRayInstrumentFunctions , 1, 0) ///< Set when -fxray-instrument is - ///< enabled. -CODEGENOPT(StackSizeSection , 1, 0) ///< Set when -fstack-size-section is enabled. +CODEGENOPT(XRayInstrumentFunctions , 1, 0, Benign) ///< Set when -fxray-instrument is + ///< enabled. +CODEGENOPT(StackSizeSection , 1, 0, Benign) ///< Set when -fstack-size-section is enabled. ///< Set when -femit-compact-unwind-non-canonical is enabled. -CODEGENOPT(EmitCompactUnwindNonCanonical, 1, 0) +CODEGENOPT(EmitCompactUnwindNonCanonical, 1, 0, Benign) ///< Set when -fxray-always-emit-customevents is enabled. -CODEGENOPT(XRayAlwaysEmitCustomEvents , 1, 0) +CODEGENOPT(XRayAlwaysEmitCustomEvents , 1, 0, Benign) ///< Set when -fxray-always-emit-typedevents is enabled. -CODEGENOPT(XRayAlwaysEmitTypedEvents , 1, 0) +CODEGENOPT(XRayAlwaysEmitTypedEvents , 1, 0, Benign) ///< Set when -fxray-ignore-loops is enabled. -CODEGENOPT(XRayIgnoreLoops , 1, 0) +CODEGENOPT(XRayIgnoreLoops , 1, 0, Benign) ///< Emit the XRay function index section. -CODEGENOPT(XRayFunctionIndex , 1, 1) +CODEGENOPT(XRayFunctionIndex , 1, 1, Benign) ///< Set when -fxray-shared is enabled -CODEGENOPT(XRayShared , 1, 0) +CODEGENOPT(XRayShared , 1, 0, Benign) ///< Set the minimum number of instructions in a function to determine selective ///< XRay instrumentation. -VALUE_CODEGENOPT(XRayInstructionThreshold , 32, 200) +VALUE_CODEGENOPT(XRayInstructionThreshold , 32, 200, Benign) ///< Only instrument 1 in N functions, by dividing functions into N total groups and ///< instrumenting only the specified group at a time. Group numbers start at 0 ///< and end at N-1. -VALUE_CODEGENOPT(XRayTotalFunctionGroups, 32, 1) -VALUE_CODEGENOPT(XRaySelectedFunctionGroup, 32, 0) - -VALUE_CODEGENOPT(PatchableFunctionEntryCount , 32, 0) ///< Number of NOPs at function entry -VALUE_CODEGENOPT(PatchableFunctionEntryOffset , 32, 0) - -CODEGENOPT(HotPatch, 1, 0) ///< Supports the Microsoft /HOTPATCH flag and - ///< generates a 'patchable-function' attribute. - -CODEGENOPT(TlsGuards , 1, 1) ///< Controls emission of tls guards via -fms-tls-guards -CODEGENOPT(JMCInstrument, 1, 0) ///< Set when -fjmc is enabled. -CODEGENOPT(InstrumentForProfiling , 1, 0) ///< Set when -pg is enabled. -CODEGENOPT(CallFEntry , 1, 0) ///< Set when -mfentry is enabled. -CODEGENOPT(MNopMCount , 1, 0) ///< Set when -mnop-mcount is enabled. -CODEGENOPT(RecordMCount , 1, 0) ///< Set when -mrecord-mcount is enabled. -CODEGENOPT(PackedStack , 1, 0) ///< Set when -mpacked-stack is enabled. -CODEGENOPT(LessPreciseFPMAD , 1, 0) ///< Enable less precise MAD instructions to - ///< be generated. -CODEGENOPT(PrepareForLTO , 1, 0) ///< Set when -flto is enabled on the - ///< compile step. -CODEGENOPT(PrepareForThinLTO , 1, 0) ///< Set when -flto=thin is enabled on the - ///< compile step. -CODEGENOPT(LTOUnit, 1, 0) ///< Emit IR to support LTO unit features (CFI, whole - ///< program vtable opt). -CODEGENOPT(FatLTO, 1, 0) ///< Set when -ffat-lto-objects is enabled. -CODEGENOPT(EnableSplitLTOUnit, 1, 0) ///< Enable LTO unit splitting to support - /// CFI and traditional whole program - /// devirtualization that require whole - /// program IR support. -CODEGENOPT(UnifiedLTO, 1, 0) ///< Use the unified LTO pipeline. -CODEGENOPT(IncrementalLinkerCompatible, 1, 0) ///< Emit an object file which can - ///< be used with an incremental - ///< linker. -CODEGENOPT(MergeAllConstants , 1, 1) ///< Merge identical constants. -CODEGENOPT(MergeFunctions , 1, 0) ///< Set when -fmerge-functions is enabled. -CODEGENOPT(NoCommon , 1, 0) ///< Set when -fno-common or C++ is enabled. -CODEGENOPT(NoExecStack , 1, 0) ///< Set when -Wa,--noexecstack is enabled. -CODEGENOPT(MipsMsa , 1, 0) ///< Set when -Wa,-mmsa is enabled. -CODEGENOPT(FatalWarnings , 1, 0) ///< Set when -Wa,--fatal-warnings is - ///< enabled. -CODEGENOPT(NoWarn , 1, 0) ///< Set when -Wa,--no-warn is enabled. -CODEGENOPT(NoTypeCheck , 1, 0) ///< Set when -Wa,--no-type-check is enabled. -CODEGENOPT(MisExpect , 1, 0) ///< Set when -Wmisexpect is enabled -CODEGENOPT(EnableSegmentedStacks , 1, 0) ///< Set when -fsplit-stack is enabled. -CODEGENOPT(StackClashProtector, 1, 0) ///< Set when -fstack-clash-protection is enabled. -CODEGENOPT(NoImplicitFloat , 1, 0) ///< Set when -mno-implicit-float is enabled. -CODEGENOPT(NullPointerIsValid , 1, 0) ///< Assume Null pointer deference is defined. -CODEGENOPT(OpenCLCorrectlyRoundedDivSqrt, 1, 0) ///< -cl-fp32-correctly-rounded-divide-sqrt -CODEGENOPT(HIPCorrectlyRoundedDivSqrt, 1, 1) ///< -fno-hip-fp32-correctly-rounded-divide-sqrt -CODEGENOPT(DisableBlockSignatureString, 1, 0) ///< Set when -fdisable-block-signature-string is enabled. -CODEGENOPT(HIPSaveKernelArgName, 1, 0) ///< Set when -fhip-kernel-arg-name is enabled. -CODEGENOPT(UniqueInternalLinkageNames, 1, 0) ///< Internal Linkage symbols get unique names. -CODEGENOPT(SplitMachineFunctions, 1, 0) ///< Split machine functions using profile information. -CODEGENOPT(PPCUseFullRegisterNames, 1, 0) ///< Print full register names in assembly -CODEGENOPT(X86RelaxRelocations, 1, 1) ///< -Wa,-mrelax-relocations={yes,no} -CODEGENOPT(X86Sse2Avx , 1, 0) ///< -Wa,-msse2avx +VALUE_CODEGENOPT(XRayTotalFunctionGroups, 32, 1, Benign) +VALUE_CODEGENOPT(XRaySelectedFunctionGroup, 32, 0, Benign) + +VALUE_CODEGENOPT(PatchableFunctionEntryCount , 32, 0, Benign) ///< Number of NOPs at function entry +VALUE_CODEGENOPT(PatchableFunctionEntryOffset , 32, 0, Benign) + +CODEGENOPT(HotPatch, 1, 0, Benign) ///< Supports the Microsoft /HOTPATCH flag and + ///< generates a 'patchable-function' attribute. + +CODEGENOPT(TlsGuards , 1, 1, Benign) ///< Controls emission of tls guards via -fms-tls-guards +CODEGENOPT(JMCInstrument, 1, 0, Benign) ///< Set when -fjmc is enabled. +CODEGENOPT(InstrumentForProfiling , 1, 0, Benign) ///< Set when -pg is enabled. +CODEGENOPT(CallFEntry , 1, 0, Benign) ///< Set when -mfentry is enabled. +CODEGENOPT(MNopMCount , 1, 0, Benign) ///< Set when -mnop-mcount is enabled. +CODEGENOPT(RecordMCount , 1, 0, Benign) ///< Set when -mrecord-mcount is enabled. +CODEGENOPT(PackedStack , 1, 0, Benign) ///< Set when -mpacked-stack is enabled. +CODEGENOPT(LessPreciseFPMAD , 1, 0, Benign) ///< Enable less precise MAD instructions to + ///< be generated. +CODEGENOPT(PrepareForLTO , 1, 0, Benign) ///< Set when -flto is enabled on the + ///< compile step. +CODEGENOPT(PrepareForThinLTO , 1, 0, Benign) ///< Set when -flto=thin is enabled on the + ///< compile step. +CODEGENOPT(LTOUnit, 1, 0, Benign) ///< ... [truncated] `````````` </details> https://github.com/llvm/llvm-project/pull/146910 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits