Skip to content

Commit cd67912

Browse files
committed
Remove the deprecated and unused endAsyncLet builtin.
1 parent 1d95fe1 commit cd67912

File tree

10 files changed

+0
-43
lines changed

10 files changed

+0
-43
lines changed

include/swift/AST/Builtins.def

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -926,17 +926,6 @@ BUILTIN_MISC_OPERATION(FlowSensitiveSelfIsolation, "flowSensitiveSelfIsolation",
926926
BUILTIN_MISC_OPERATION(FlowSensitiveDistributedSelfIsolation,
927927
"flowSensitiveDistributedSelfIsolation", "", Special)
928928

929-
/// endAsyncLet(): (Builtin.RawPointer) -> Void
930-
///
931-
/// DEPRECATED. The swift_asyncLet_finish intrinsic and endAsyncLetLifetime
932-
/// builtin are used instead.
933-
///
934-
/// Ends and destroys an async-let.
935-
/// The ClosureLifetimeFixup pass adds a second operand to the builtin to
936-
/// ensure that optimizations keep the stack-allocated closure arguments alive
937-
/// until the endAsyncLet.
938-
BUILTIN_MISC_OPERATION_WITH_SILGEN(EndAsyncLet, "endAsyncLet", "", Special)
939-
940929
/// endAsyncLetLifetime(): (Builtin.RawPointer) -> Void
941930
///
942931
/// Marks the end of an async-let's lifetime.

lib/AST/Builtins.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3382,7 +3382,6 @@ ValueDecl *swift::getBuiltinValueDecl(ASTContext &Context, Identifier Id) {
33823382
case BuiltinValueKind::StartAsyncLetWithLocalBuffer:
33833383
return getStartAsyncLet(Context, Id);
33843384

3385-
case BuiltinValueKind::EndAsyncLet:
33863385
case BuiltinValueKind::EndAsyncLetLifetime:
33873386
return getEndAsyncLet(Context, Id);
33883387

lib/IRGen/GenBuiltin.cpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -300,14 +300,6 @@ void irgen::emitBuiltinCall(IRGenFunction &IGF, const BuiltinInfo &Builtin,
300300
return;
301301
}
302302

303-
case BuiltinValueKind::EndAsyncLet: {
304-
emitEndAsyncLet(IGF, args.claimNext());
305-
// Ignore a second operand which is inserted by ClosureLifetimeFixup and
306-
// only used for dependency tracking.
307-
(void)args.claimAll();
308-
return;
309-
}
310-
311303
case BuiltinValueKind::EndAsyncLetLifetime: {
312304
IGF.Builder.CreateLifetimeEnd(args.claimNext());
313305
// Ignore a second operand which is inserted by ClosureLifetimeFixup and

lib/IRGen/GenConcurrency.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -317,15 +317,6 @@ llvm::Value *irgen::emitBuiltinStartAsyncLet(IRGenFunction &IGF,
317317
return alet;
318318
}
319319

320-
void irgen::emitEndAsyncLet(IRGenFunction &IGF, llvm::Value *alet) {
321-
auto *call =
322-
IGF.Builder.CreateCall(IGF.IGM.getEndAsyncLetFunctionPointer(), {alet});
323-
call->setDoesNotThrow();
324-
call->setCallingConv(IGF.IGM.SwiftCC);
325-
326-
IGF.Builder.CreateLifetimeEnd(alet);
327-
}
328-
329320
llvm::Value *irgen::emitCreateTaskGroup(IRGenFunction &IGF,
330321
SubstitutionMap subs,
331322
llvm::Value *groupFlags) {

lib/IRGen/GenConcurrency.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,6 @@ llvm::Value *emitBuiltinStartAsyncLet(IRGenFunction &IGF,
7878
llvm::Value *resultBuffer,
7979
SubstitutionMap subs);
8080

81-
/// Emit the endAsyncLet builtin.
82-
void emitEndAsyncLet(IRGenFunction &IGF, llvm::Value *alet);
83-
8481
/// Emit the createTaskGroup builtin.
8582
llvm::Value *emitCreateTaskGroup(IRGenFunction &IGF, SubstitutionMap subs,
8683
llvm::Value *groupFlags);

lib/SIL/IR/OperandOwnership.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -941,7 +941,6 @@ BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, GetEnumTag)
941941
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, InjectEnumTag)
942942
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, DistributedActorAsAnyActor)
943943
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, AddressOfRawLayout)
944-
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, EndAsyncLet)
945944
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, EndAsyncLetLifetime)
946945
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, CreateTaskGroup)
947946
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, CreateTaskGroupWithFlags)

lib/SIL/IR/ValueOwnership.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -649,7 +649,6 @@ CONSTANT_OWNERSHIP_BUILTIN(None, BuildOrdinarySerialExecutorRef)
649649
CONSTANT_OWNERSHIP_BUILTIN(None, BuildComplexEqualitySerialExecutorRef)
650650
CONSTANT_OWNERSHIP_BUILTIN(None, BuildDefaultActorExecutorRef)
651651
CONSTANT_OWNERSHIP_BUILTIN(None, BuildMainActorExecutorRef)
652-
CONSTANT_OWNERSHIP_BUILTIN(None, EndAsyncLet)
653652
CONSTANT_OWNERSHIP_BUILTIN(None, StartAsyncLetWithLocalBuffer)
654653
CONSTANT_OWNERSHIP_BUILTIN(None, EndAsyncLetLifetime)
655654
CONSTANT_OWNERSHIP_BUILTIN(None, CreateTaskGroup)

lib/SIL/Utils/MemAccessUtils.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2655,7 +2655,6 @@ static void visitBuiltinAddress(BuiltinInst *builtin,
26552655
case BuiltinValueKind::DestroyDefaultActor:
26562656
case BuiltinValueKind::GetCurrentExecutor:
26572657
case BuiltinValueKind::StartAsyncLetWithLocalBuffer:
2658-
case BuiltinValueKind::EndAsyncLet:
26592658
case BuiltinValueKind::EndAsyncLetLifetime:
26602659
case BuiltinValueKind::CreateTaskGroup:
26612660
case BuiltinValueKind::CreateTaskGroupWithFlags:

lib/SILGen/SILGenBuiltin.cpp

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1493,13 +1493,6 @@ static ManagedValue emitBuiltinCancelAsyncTask(
14931493
return SGF.emitCancelAsyncTask(loc, args[0].borrow(SGF, loc).forward(SGF));
14941494
}
14951495

1496-
// Emit SIL for the named builtin: endAsyncLet.
1497-
static ManagedValue emitBuiltinEndAsyncLet(
1498-
SILGenFunction &SGF, SILLocation loc, SubstitutionMap subs,
1499-
ArrayRef<ManagedValue> args, SGFContext C) {
1500-
return SGF.emitCancelAsyncTask(loc, args[0].borrow(SGF, loc).forward(SGF));
1501-
}
1502-
15031496
// Emit SIL for the named builtin: getCurrentExecutor.
15041497
static ManagedValue emitBuiltinGetCurrentExecutor(
15051498
SILGenFunction &SGF, SILLocation loc, SubstitutionMap subs,

lib/SILOptimizer/Transforms/AccessEnforcementReleaseSinking.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,6 @@ static bool isBarrier(SILInstruction *inst) {
153153
case BuiltinValueKind::GetCurrentAsyncTask:
154154
case BuiltinValueKind::GetCurrentExecutor:
155155
case BuiltinValueKind::AutoDiffCreateLinearMapContextWithType:
156-
case BuiltinValueKind::EndAsyncLet:
157156
case BuiltinValueKind::EndAsyncLetLifetime:
158157
case BuiltinValueKind::CreateTaskGroup:
159158
case BuiltinValueKind::CreateTaskGroupWithFlags:

0 commit comments

Comments
 (0)