Merge pull request #76767 from kubamracek/embedded-concurrency-task-groups

[Concurrency] Enable TaskGroup/DiscardingTaskGroup in Embedded Swift
This commit is contained in:
Kuba (Brecka) Mracek
2024-10-03 19:29:54 -07:00
committed by GitHub
15 changed files with 283 additions and 29 deletions

View File

@@ -2569,7 +2569,7 @@ FUNCTION(TaskRunInline,
EFFECT(NoEffect),
UNKNOWN_MEMEFFECTS)
// void swift_taskGroup_initialize(TaskGroup *group);
// void swift_taskGroup_initialize(TaskGroup *group, const Metadata *T);
FUNCTION(TaskGroupInitialize,
swift_taskGroup_initialize, SwiftCC,
ConcurrencyAvailability,
@@ -2579,7 +2579,7 @@ FUNCTION(TaskGroupInitialize,
EFFECT(Concurrency),
UNKNOWN_MEMEFFECTS)
// void swift_taskGroup_initializeWithFlags(size_t flags, TaskGroup *group);
// void swift_taskGroup_initializeWithFlags(size_t flags, TaskGroup *group, const Metadata *T);
FUNCTION(TaskGroupInitializeWithFlags,
swift_taskGroup_initializeWithFlags, SwiftCC,
ConcurrencyDiscardingTaskGroupAvailability,
@@ -2592,6 +2592,20 @@ FUNCTION(TaskGroupInitializeWithFlags,
EFFECT(Concurrency),
UNKNOWN_MEMEFFECTS)
// void swift_taskGroup_initializeWithTaskOptions(size_t flags, TaskGroup *group, const Metadata *T, TaskOptionRecord *options);
FUNCTION(TaskGroupInitializeWithOptions,
swift_taskGroup_initializeWithOptions, SwiftCC,
ConcurrencyDiscardingTaskGroupAvailability,
RETURNS(VoidTy),
ARGS(SizeTy, // flags
Int8PtrTy, // group
TypeMetadataPtrTy, // T.Type
SwiftTaskOptionRecordPtrTy // options
),
ATTRS(NoUnwind),
EFFECT(Concurrency),
UNKNOWN_MEMEFFECTS)
// void swift_taskGroup_destroy(TaskGroup *group);
FUNCTION(TaskGroupDestroy,
swift_taskGroup_destroy, SwiftCC,