Skip to content

Commit b2f1c41

Browse files
committed
[region-isolation] get_async_continuation{,_addr} can take a parameter, so we need to treat it as a require.
We should make this as a transfer... but this is just temporary until I get around to it. For now this is always an out parameter, so we should be safe.
1 parent e34dc59 commit b2f1c41

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

lib/SILOptimizer/Analysis/RegionAnalysis.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2415,6 +2415,8 @@ CONSTANT_TRANSLATION(BeginUnpairedAccessInst, Require)
24152415
CONSTANT_TRANSLATION(ValueMetatypeInst, Require)
24162416
// Require of the value we extract the metatype from.
24172417
CONSTANT_TRANSLATION(ExistentialMetatypeInst, Require)
2418+
// These can take a parameter. If it is non-Sendable, use a require.
2419+
CONSTANT_TRANSLATION(GetAsyncContinuationAddrInst, Require)
24182420

24192421
//===---
24202422
// Asserting If Non Sendable Parameter
@@ -2455,7 +2457,6 @@ CONSTANT_TRANSLATION(DynamicMethodBranchInst, TerminatorPhi)
24552457
// (UnsafeContinuation and UnsafeThrowingContinuation).
24562458
CONSTANT_TRANSLATION(AwaitAsyncContinuationInst, AssertingIfNonSendable)
24572459
CONSTANT_TRANSLATION(GetAsyncContinuationInst, AssertingIfNonSendable)
2458-
CONSTANT_TRANSLATION(GetAsyncContinuationAddrInst, AssertingIfNonSendable)
24592460
CONSTANT_TRANSLATION(ExtractExecutorInst, AssertingIfNonSendable)
24602461

24612462
//===---

0 commit comments

Comments
 (0)