@@ -587,6 +587,11 @@ IRGenModule::IRGenModule(IRGenerator &irgen,
587
587
DynamicReplacementKeyTy = createStructType (*this , " swift.dyn_repl_key" ,
588
588
{RelativeAddressTy, Int32Ty});
589
589
590
+ SwiftContextTy = createStructType (*this , " swift.context" , {});
591
+ SwiftTaskTy = createStructType (*this , " swift.task" , {});
592
+ SwiftContextPtrTy = SwiftContextTy->getPointerTo (DefaultAS);
593
+ SwiftTaskPtrTy = SwiftTaskTy->getPointerTo (DefaultAS);
594
+
590
595
DifferentiabilityWitnessTy = createStructType (
591
596
*this , " swift.differentiability_witness" , {Int8PtrTy, Int8PtrTy});
592
597
}
@@ -681,6 +686,14 @@ namespace RuntimeConstants {
681
686
}
682
687
return RuntimeAvailability::AlwaysAvailable;
683
688
}
689
+
690
+ RuntimeAvailability ConcurrencyAvailability (ASTContext &context) {
691
+ auto featureAvailability = context.getConcurrencyAvailability ();
692
+ if (!isDeploymentAvailabilityContainedIn (context, featureAvailability)) {
693
+ return RuntimeAvailability::ConditionallyAvailable;
694
+ }
695
+ return RuntimeAvailability::AlwaysAvailable;
696
+ }
684
697
} // namespace RuntimeConstants
685
698
686
699
// We don't use enough attributes to justify generalizing the
0 commit comments