@@ -81,6 +81,12 @@ enum class IRGenEmbedMode : unsigned {
81
81
EmbedBitcode
82
82
};
83
83
84
+ enum class SwiftAsyncFramePointerKind : unsigned {
85
+ Auto, // Choose Swift async extended frame info based on deployment target.
86
+ Always, // Unconditionally emit Swift async extended frame info.
87
+ Never, // Don't emit Swift async extended frame info.
88
+ };
89
+
84
90
using clang::PointerAuthSchema;
85
91
86
92
struct PointerAuthOptions : clang::PointerAuthOptions {
@@ -282,6 +288,8 @@ class IRGenOptions {
282
288
283
289
IRGenLLVMLTOKind LLVMLTOKind : 2 ;
284
290
291
+ SwiftAsyncFramePointerKind SwiftAsyncFramePointer : 2 ;
292
+
285
293
// / Add names to LLVM values.
286
294
unsigned HasValueNamesSetting : 1 ;
287
295
unsigned ValueNames : 1 ;
@@ -390,7 +398,9 @@ class IRGenOptions {
390
398
DisableLLVMSLPVectorizer(false ), Playground(false ),
391
399
EmitStackPromotionChecks(false ), FunctionSections(false ),
392
400
PrintInlineTree(false ), EmbedMode(IRGenEmbedMode::None),
393
- LLVMLTOKind(IRGenLLVMLTOKind::None), HasValueNamesSetting(false ),
401
+ LLVMLTOKind(IRGenLLVMLTOKind::None),
402
+ SwiftAsyncFramePointer(SwiftAsyncFramePointerKind::Always),
403
+ HasValueNamesSetting(false ),
394
404
ValueNames(false ), EnableReflectionMetadata(true ),
395
405
EnableReflectionNames(true ), EnableAnonymousContextMangledNames(false ),
396
406
ForcePublicLinkage(false ), LazyInitializeClassMetadata(false ),
0 commit comments