Skip to content

Commit 77dccac

Browse files
committed
Make ActorIsolation on SILFunction non-optional.
ActorIsolation already has a "I have no value case": unspecified. Lets just use that. Just a mistake I made that I am trying to fix before anything further depends on this code.
1 parent 51e148d commit 77dccac

File tree

3 files changed

+5
-7
lines changed

3 files changed

+5
-7
lines changed

include/swift/SIL/SILFunction.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ class SILFunction
348348
unsigned BlockListChangeIdx = 0;
349349

350350
/// The isolation of this function.
351-
std::optional<ActorIsolation> actorIsolation;
351+
ActorIsolation actorIsolation = ActorIsolation::forUnspecified();
352352

353353
/// The function's bare attribute. Bare means that the function is SIL-only
354354
/// and does not require debug info.
@@ -1374,9 +1374,7 @@ class SILFunction
13741374
actorIsolation = newActorIsolation;
13751375
}
13761376

1377-
std::optional<ActorIsolation> getActorIsolation() const {
1378-
return actorIsolation;
1379-
}
1377+
ActorIsolation getActorIsolation() const { return actorIsolation; }
13801378

13811379
//===--------------------------------------------------------------------===//
13821380
// Block List Access

include/swift/SILOptimizer/Utils/PartitionUtils.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -901,8 +901,8 @@ struct PartitionOpEvaluator {
901901
// our transferring operand. If so, we can squelch this.
902902
if (auto functionIsolation =
903903
transferringOp->getUser()->getFunction()->getActorIsolation()) {
904-
if (functionIsolation->isActorIsolated() &&
905-
SILIsolationInfo::getActorIsolated(*functionIsolation) ==
904+
if (functionIsolation.isActorIsolated() &&
905+
SILIsolationInfo::getActorIsolated(functionIsolation) ==
906906
SILIsolationInfo::get(transferringOp->getUser()))
907907
return;
908908
}

lib/SILOptimizer/Utils/PartitionUtils.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ SILIsolationInfo SILIsolationInfo::get(SILFunctionArgument *arg) {
9191
// should be marked as actor isolated.
9292
if (auto *self = arg->getFunction()->maybeGetSelfArgument()) {
9393
if (auto functionIsolation = arg->getFunction()->getActorIsolation()) {
94-
if (functionIsolation->isActorIsolated()) {
94+
if (functionIsolation.isActorIsolated()) {
9595
if (auto *nomDecl = self->getType().getNominalOrBoundGenericNominal()) {
9696
if (auto isolationInfo =
9797
SILIsolationInfo::getActorIsolated(nomDecl)) {

0 commit comments

Comments
 (0)