@@ -587,6 +587,11 @@ IRGenModule::IRGenModule(IRGenerator &irgen,
587587 DynamicReplacementKeyTy = createStructType (*this , " swift.dyn_repl_key" ,
588588 {RelativeAddressTy, Int32Ty});
589589
590+ SwiftContextTy = createStructType (*this , " swift.context" , {});
591+ SwiftTaskTy = createStructType (*this , " swift.task" , {});
592+ SwiftContextPtrTy = SwiftContextTy->getPointerTo (DefaultAS);
593+ SwiftTaskPtrTy = SwiftTaskTy->getPointerTo (DefaultAS);
594+
590595 DifferentiabilityWitnessTy = createStructType (
591596 *this , " swift.differentiability_witness" , {Int8PtrTy, Int8PtrTy});
592597}
@@ -681,6 +686,14 @@ namespace RuntimeConstants {
681686 }
682687 return RuntimeAvailability::AlwaysAvailable;
683688 }
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+ }
684697} // namespace RuntimeConstants
685698
686699// We don't use enough attributes to justify generalizing the
0 commit comments