mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Remove the deprecated and unused endAsyncLet builtin.
This commit is contained in:
@@ -926,17 +926,6 @@ BUILTIN_MISC_OPERATION(FlowSensitiveSelfIsolation, "flowSensitiveSelfIsolation",
|
|||||||
BUILTIN_MISC_OPERATION(FlowSensitiveDistributedSelfIsolation,
|
BUILTIN_MISC_OPERATION(FlowSensitiveDistributedSelfIsolation,
|
||||||
"flowSensitiveDistributedSelfIsolation", "", Special)
|
"flowSensitiveDistributedSelfIsolation", "", Special)
|
||||||
|
|
||||||
/// endAsyncLet(): (Builtin.RawPointer) -> Void
|
|
||||||
///
|
|
||||||
/// DEPRECATED. The swift_asyncLet_finish intrinsic and endAsyncLetLifetime
|
|
||||||
/// builtin are used instead.
|
|
||||||
///
|
|
||||||
/// Ends and destroys an async-let.
|
|
||||||
/// The ClosureLifetimeFixup pass adds a second operand to the builtin to
|
|
||||||
/// ensure that optimizations keep the stack-allocated closure arguments alive
|
|
||||||
/// until the endAsyncLet.
|
|
||||||
BUILTIN_MISC_OPERATION_WITH_SILGEN(EndAsyncLet, "endAsyncLet", "", Special)
|
|
||||||
|
|
||||||
/// endAsyncLetLifetime(): (Builtin.RawPointer) -> Void
|
/// endAsyncLetLifetime(): (Builtin.RawPointer) -> Void
|
||||||
///
|
///
|
||||||
/// Marks the end of an async-let's lifetime.
|
/// Marks the end of an async-let's lifetime.
|
||||||
|
|||||||
@@ -3382,7 +3382,6 @@ ValueDecl *swift::getBuiltinValueDecl(ASTContext &Context, Identifier Id) {
|
|||||||
case BuiltinValueKind::StartAsyncLetWithLocalBuffer:
|
case BuiltinValueKind::StartAsyncLetWithLocalBuffer:
|
||||||
return getStartAsyncLet(Context, Id);
|
return getStartAsyncLet(Context, Id);
|
||||||
|
|
||||||
case BuiltinValueKind::EndAsyncLet:
|
|
||||||
case BuiltinValueKind::EndAsyncLetLifetime:
|
case BuiltinValueKind::EndAsyncLetLifetime:
|
||||||
return getEndAsyncLet(Context, Id);
|
return getEndAsyncLet(Context, Id);
|
||||||
|
|
||||||
|
|||||||
@@ -300,14 +300,6 @@ void irgen::emitBuiltinCall(IRGenFunction &IGF, const BuiltinInfo &Builtin,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
case BuiltinValueKind::EndAsyncLet: {
|
|
||||||
emitEndAsyncLet(IGF, args.claimNext());
|
|
||||||
// Ignore a second operand which is inserted by ClosureLifetimeFixup and
|
|
||||||
// only used for dependency tracking.
|
|
||||||
(void)args.claimAll();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
case BuiltinValueKind::EndAsyncLetLifetime: {
|
case BuiltinValueKind::EndAsyncLetLifetime: {
|
||||||
IGF.Builder.CreateLifetimeEnd(args.claimNext());
|
IGF.Builder.CreateLifetimeEnd(args.claimNext());
|
||||||
// Ignore a second operand which is inserted by ClosureLifetimeFixup and
|
// Ignore a second operand which is inserted by ClosureLifetimeFixup and
|
||||||
|
|||||||
@@ -317,15 +317,6 @@ llvm::Value *irgen::emitBuiltinStartAsyncLet(IRGenFunction &IGF,
|
|||||||
return alet;
|
return alet;
|
||||||
}
|
}
|
||||||
|
|
||||||
void irgen::emitEndAsyncLet(IRGenFunction &IGF, llvm::Value *alet) {
|
|
||||||
auto *call =
|
|
||||||
IGF.Builder.CreateCall(IGF.IGM.getEndAsyncLetFunctionPointer(), {alet});
|
|
||||||
call->setDoesNotThrow();
|
|
||||||
call->setCallingConv(IGF.IGM.SwiftCC);
|
|
||||||
|
|
||||||
IGF.Builder.CreateLifetimeEnd(alet);
|
|
||||||
}
|
|
||||||
|
|
||||||
llvm::Value *irgen::emitCreateTaskGroup(IRGenFunction &IGF,
|
llvm::Value *irgen::emitCreateTaskGroup(IRGenFunction &IGF,
|
||||||
SubstitutionMap subs,
|
SubstitutionMap subs,
|
||||||
llvm::Value *groupFlags) {
|
llvm::Value *groupFlags) {
|
||||||
|
|||||||
@@ -78,9 +78,6 @@ llvm::Value *emitBuiltinStartAsyncLet(IRGenFunction &IGF,
|
|||||||
llvm::Value *resultBuffer,
|
llvm::Value *resultBuffer,
|
||||||
SubstitutionMap subs);
|
SubstitutionMap subs);
|
||||||
|
|
||||||
/// Emit the endAsyncLet builtin.
|
|
||||||
void emitEndAsyncLet(IRGenFunction &IGF, llvm::Value *alet);
|
|
||||||
|
|
||||||
/// Emit the createTaskGroup builtin.
|
/// Emit the createTaskGroup builtin.
|
||||||
llvm::Value *emitCreateTaskGroup(IRGenFunction &IGF, SubstitutionMap subs,
|
llvm::Value *emitCreateTaskGroup(IRGenFunction &IGF, SubstitutionMap subs,
|
||||||
llvm::Value *groupFlags);
|
llvm::Value *groupFlags);
|
||||||
|
|||||||
@@ -941,7 +941,6 @@ BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, GetEnumTag)
|
|||||||
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, InjectEnumTag)
|
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, InjectEnumTag)
|
||||||
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, DistributedActorAsAnyActor)
|
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, DistributedActorAsAnyActor)
|
||||||
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, AddressOfRawLayout)
|
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, AddressOfRawLayout)
|
||||||
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, EndAsyncLet)
|
|
||||||
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, EndAsyncLetLifetime)
|
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, EndAsyncLetLifetime)
|
||||||
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, CreateTaskGroup)
|
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, CreateTaskGroup)
|
||||||
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, CreateTaskGroupWithFlags)
|
BUILTIN_OPERAND_OWNERSHIP(InstantaneousUse, CreateTaskGroupWithFlags)
|
||||||
|
|||||||
@@ -649,7 +649,6 @@ CONSTANT_OWNERSHIP_BUILTIN(None, BuildOrdinarySerialExecutorRef)
|
|||||||
CONSTANT_OWNERSHIP_BUILTIN(None, BuildComplexEqualitySerialExecutorRef)
|
CONSTANT_OWNERSHIP_BUILTIN(None, BuildComplexEqualitySerialExecutorRef)
|
||||||
CONSTANT_OWNERSHIP_BUILTIN(None, BuildDefaultActorExecutorRef)
|
CONSTANT_OWNERSHIP_BUILTIN(None, BuildDefaultActorExecutorRef)
|
||||||
CONSTANT_OWNERSHIP_BUILTIN(None, BuildMainActorExecutorRef)
|
CONSTANT_OWNERSHIP_BUILTIN(None, BuildMainActorExecutorRef)
|
||||||
CONSTANT_OWNERSHIP_BUILTIN(None, EndAsyncLet)
|
|
||||||
CONSTANT_OWNERSHIP_BUILTIN(None, StartAsyncLetWithLocalBuffer)
|
CONSTANT_OWNERSHIP_BUILTIN(None, StartAsyncLetWithLocalBuffer)
|
||||||
CONSTANT_OWNERSHIP_BUILTIN(None, EndAsyncLetLifetime)
|
CONSTANT_OWNERSHIP_BUILTIN(None, EndAsyncLetLifetime)
|
||||||
CONSTANT_OWNERSHIP_BUILTIN(None, CreateTaskGroup)
|
CONSTANT_OWNERSHIP_BUILTIN(None, CreateTaskGroup)
|
||||||
|
|||||||
@@ -2655,7 +2655,6 @@ static void visitBuiltinAddress(BuiltinInst *builtin,
|
|||||||
case BuiltinValueKind::DestroyDefaultActor:
|
case BuiltinValueKind::DestroyDefaultActor:
|
||||||
case BuiltinValueKind::GetCurrentExecutor:
|
case BuiltinValueKind::GetCurrentExecutor:
|
||||||
case BuiltinValueKind::StartAsyncLetWithLocalBuffer:
|
case BuiltinValueKind::StartAsyncLetWithLocalBuffer:
|
||||||
case BuiltinValueKind::EndAsyncLet:
|
|
||||||
case BuiltinValueKind::EndAsyncLetLifetime:
|
case BuiltinValueKind::EndAsyncLetLifetime:
|
||||||
case BuiltinValueKind::CreateTaskGroup:
|
case BuiltinValueKind::CreateTaskGroup:
|
||||||
case BuiltinValueKind::CreateTaskGroupWithFlags:
|
case BuiltinValueKind::CreateTaskGroupWithFlags:
|
||||||
|
|||||||
@@ -1493,13 +1493,6 @@ static ManagedValue emitBuiltinCancelAsyncTask(
|
|||||||
return SGF.emitCancelAsyncTask(loc, args[0].borrow(SGF, loc).forward(SGF));
|
return SGF.emitCancelAsyncTask(loc, args[0].borrow(SGF, loc).forward(SGF));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Emit SIL for the named builtin: endAsyncLet.
|
|
||||||
static ManagedValue emitBuiltinEndAsyncLet(
|
|
||||||
SILGenFunction &SGF, SILLocation loc, SubstitutionMap subs,
|
|
||||||
ArrayRef<ManagedValue> args, SGFContext C) {
|
|
||||||
return SGF.emitCancelAsyncTask(loc, args[0].borrow(SGF, loc).forward(SGF));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Emit SIL for the named builtin: getCurrentExecutor.
|
// Emit SIL for the named builtin: getCurrentExecutor.
|
||||||
static ManagedValue emitBuiltinGetCurrentExecutor(
|
static ManagedValue emitBuiltinGetCurrentExecutor(
|
||||||
SILGenFunction &SGF, SILLocation loc, SubstitutionMap subs,
|
SILGenFunction &SGF, SILLocation loc, SubstitutionMap subs,
|
||||||
|
|||||||
@@ -153,7 +153,6 @@ static bool isBarrier(SILInstruction *inst) {
|
|||||||
case BuiltinValueKind::GetCurrentAsyncTask:
|
case BuiltinValueKind::GetCurrentAsyncTask:
|
||||||
case BuiltinValueKind::GetCurrentExecutor:
|
case BuiltinValueKind::GetCurrentExecutor:
|
||||||
case BuiltinValueKind::AutoDiffCreateLinearMapContextWithType:
|
case BuiltinValueKind::AutoDiffCreateLinearMapContextWithType:
|
||||||
case BuiltinValueKind::EndAsyncLet:
|
|
||||||
case BuiltinValueKind::EndAsyncLetLifetime:
|
case BuiltinValueKind::EndAsyncLetLifetime:
|
||||||
case BuiltinValueKind::CreateTaskGroup:
|
case BuiltinValueKind::CreateTaskGroup:
|
||||||
case BuiltinValueKind::CreateTaskGroupWithFlags:
|
case BuiltinValueKind::CreateTaskGroupWithFlags:
|
||||||
|
|||||||
Reference in New Issue
Block a user