@@ -502,6 +502,15 @@ class IRGenOptions {
502502 // / The calling convention used to perform non-swift calls.
503503 llvm::CallingConv::ID PlatformCCallingConvention;
504504
505+ // / Use CAS based object format as the output.
506+ bool UseCASBackend;
507+
508+ // / The output mode for the CAS Backend.
509+ llvm::CASBackendMode CASObjMode;
510+
511+ // / Emit a .casid file next to the object file if CAS Backend is used.
512+ bool EmitCASIDFile;
513+
505514 IRGenOptions ()
506515 : DWARFVersion(2 ),
507516 OutputKind (IRGenOutputKind::LLVMAssemblyAfterOptimization),
@@ -513,9 +522,9 @@ class IRGenOptions {
513522 DebugInfoFormat(IRGenDebugInfoFormat::None),
514523 DisableClangModuleSkeletonCUs(false ), UseJIT(false ),
515524 DisableLLVMOptzns(false ), DisableSwiftSpecificLLVMOptzns(false ),
516- Playground(false ),
517- EmitStackPromotionChecks (false ), UseSingleModuleLLVMEmission (false ),
518- FunctionSections( false ), PrintInlineTree(false ), AlwaysCompile(false ),
525+ Playground(false ), EmitStackPromotionChecks( false ),
526+ UseSingleModuleLLVMEmission (false ), FunctionSections (false ),
527+ PrintInlineTree(false ), AlwaysCompile(false ),
519528 EmbedMode(IRGenEmbedMode::None), LLVMLTOKind(IRGenLLVMLTOKind::None),
520529 SwiftAsyncFramePointer(SwiftAsyncFramePointerKind::Auto),
521530 HasValueNamesSetting(false ), ValueNames(false ),
@@ -538,13 +547,12 @@ class IRGenOptions {
538547 WitnessMethodElimination(false ), ConditionalRuntimeRecords(false ),
539548 InternalizeAtLink(false ), InternalizeSymbols(false ),
540549 EmitGenericRODatas(false ), NoPreallocatedInstantiationCaches(false ),
541- DisableReadonlyStaticObjects(false ),
542- CollocatedMetadataFunctions(false ),
543- ColocateTypeDescriptors(true ),
544- UseRelativeProtocolWitnessTables(false ), CmdArgs(),
545- SanitizeCoverage(llvm::SanitizerCoverageOptions()),
550+ DisableReadonlyStaticObjects(false ), CollocatedMetadataFunctions(false ),
551+ ColocateTypeDescriptors(true ), UseRelativeProtocolWitnessTables(false ),
552+ CmdArgs(), SanitizeCoverage(llvm::SanitizerCoverageOptions()),
546553 TypeInfoFilter(TypeInfoDumpFilter::All),
547- PlatformCCallingConvention(llvm::CallingConv::C) {
554+ PlatformCCallingConvention(llvm::CallingConv::C), UseCASBackend(false ),
555+ CASObjMode(llvm::CASBackendMode::Native) {
548556#ifndef NDEBUG
549557 DisableRoundTripDebugTypes = false ;
550558#else
0 commit comments