Skip to content

Commit 7e9f19a

Browse files
committed
[region-isolation] Rename ValueIsolationRegionInfo -> IsolationRegionInfo.
1 parent afbcf85 commit 7e9f19a

File tree

4 files changed

+68
-77
lines changed

4 files changed

+68
-77
lines changed

include/swift/SILOptimizer/Analysis/RegionAnalysis.h

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,7 @@ using TrackedValueFlagSet = OptionSet<TrackableValueFlag>;
135135
class regionanalysisimpl::TrackableValueState {
136136
unsigned id;
137137
TrackedValueFlagSet flagSet = {TrackableValueFlag::isMayAlias};
138-
ValueIsolationRegionInfo regionInfo =
139-
ValueIsolationRegionInfo::getDisconnected();
138+
IsolationRegionInfo regionInfo = IsolationRegionInfo::getDisconnected();
140139

141140
public:
142141
TrackableValueState(unsigned newID) : id(newID) {}
@@ -153,19 +152,19 @@ class regionanalysisimpl::TrackableValueState {
153152

154153
bool isNonSendable() const { return !isSendable(); }
155154

156-
ValueIsolationRegionInfo::Kind getRegionInfoKind() {
155+
IsolationRegionInfo::Kind getIsolationRegionInfoKind() const {
157156
return regionInfo.getKind();
158157
}
159158

160159
ActorIsolation getActorIsolation() const {
161160
return regionInfo.getActorIsolation().value();
162161
}
163162

164-
void mergeIsolationRegionInfo(ValueIsolationRegionInfo newRegionInfo) {
163+
void mergeIsolationRegionInfo(IsolationRegionInfo newRegionInfo) {
165164
regionInfo = regionInfo.merge(newRegionInfo);
166165
}
167166

168-
ValueIsolationRegionInfo getIsolationRegionInfo() const { return regionInfo; }
167+
IsolationRegionInfo getIsolationRegionInfo() const { return regionInfo; }
169168

170169
TrackableValueID getID() const { return TrackableValueID(id); }
171170

@@ -264,7 +263,7 @@ class regionanalysisimpl::TrackableValue {
264263

265264
bool isNonSendable() const { return !isSendable(); }
266265

267-
ValueIsolationRegionInfo getIsolationRegionInfo() const {
266+
IsolationRegionInfo getIsolationRegionInfo() const {
268267
return valueState.getIsolationRegionInfo();
269268
}
270269

@@ -334,8 +333,8 @@ class RegionAnalysisValueMap {
334333
/// exists. Returns nullptr otherwise.
335334
SILInstruction *maybeGetActorIntroducingInst(Element trackableValueID) const;
336335

337-
ValueIsolationRegionInfo getIsolationRegion(Element trackableValueID) const;
338-
ValueIsolationRegionInfo getIsolationRegion(SILValue trackableValueID) const;
336+
IsolationRegionInfo getIsolationRegion(Element trackableValueID) const;
337+
IsolationRegionInfo getIsolationRegion(SILValue trackableValueID) const;
339338

340339
void print(llvm::raw_ostream &os) const;
341340
SWIFT_DEBUG_DUMP { print(llvm::dbgs()); }
@@ -358,9 +357,8 @@ class RegionAnalysisValueMap {
358357
std::optional<TrackableValue> tryToTrackValue(SILValue value) const;
359358
TrackableValue
360359
getActorIntroducingRepresentative(SILInstruction *introducingInst,
361-
ValueIsolationRegionInfo isolation) const;
362-
bool mergeIsolationRegionInfo(SILValue value,
363-
ValueIsolationRegionInfo isolation);
360+
IsolationRegionInfo isolation) const;
361+
bool mergeIsolationRegionInfo(SILValue value, IsolationRegionInfo isolation);
364362
bool valueHasID(SILValue value, bool dumpIfHasNoID = false);
365363
TrackableValueID lookupValueID(SILValue value);
366364
};

include/swift/SILOptimizer/Utils/PartitionUtils.h

Lines changed: 21 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -995,7 +995,7 @@ class Partition {
995995
}
996996
};
997997

998-
class ValueIsolationRegionInfo {
998+
class IsolationRegionInfo {
999999
public:
10001000
/// The lattice is:
10011001
///
@@ -1022,17 +1022,15 @@ class ValueIsolationRegionInfo {
10221022
> data;
10231023
// clang-format on
10241024

1025-
ValueIsolationRegionInfo(Kind kind,
1026-
std::optional<ActorIsolation> actorIsolation)
1025+
IsolationRegionInfo(Kind kind, std::optional<ActorIsolation> actorIsolation)
10271026
: kind(kind), data(actorIsolation) {}
1028-
ValueIsolationRegionInfo(Kind kind, NominalTypeDecl *decl)
1027+
IsolationRegionInfo(Kind kind, NominalTypeDecl *decl)
10291028
: kind(kind), data(decl) {}
10301029

1031-
ValueIsolationRegionInfo(Kind kind, SILValue value)
1032-
: kind(kind), data(value) {}
1030+
IsolationRegionInfo(Kind kind, SILValue value) : kind(kind), data(value) {}
10331031

10341032
public:
1035-
ValueIsolationRegionInfo() : kind(Kind::Unknown), data() {}
1033+
IsolationRegionInfo() : kind(Kind::Unknown), data() {}
10361034

10371035
operator bool() const { return kind != Kind::Unknown; }
10381036

@@ -1122,8 +1120,7 @@ class ValueIsolationRegionInfo {
11221120
return nullptr;
11231121
}
11241122

1125-
[[nodiscard]] ValueIsolationRegionInfo
1126-
merge(ValueIsolationRegionInfo other) const {
1123+
[[nodiscard]] IsolationRegionInfo merge(IsolationRegionInfo other) const {
11271124
// If we are greater than the other kind, then we are further along the
11281125
// lattice. We ignore the change.
11291126
if (unsigned(other.kind) < unsigned(kind))
@@ -1147,22 +1144,21 @@ class ValueIsolationRegionInfo {
11471144
return other;
11481145
}
11491146

1150-
ValueIsolationRegionInfo withActorIsolated(ActorIsolation isolation) {
1151-
return ValueIsolationRegionInfo::getActorIsolated(isolation);
1147+
IsolationRegionInfo withActorIsolated(ActorIsolation isolation) {
1148+
return IsolationRegionInfo::getActorIsolated(isolation);
11521149
}
11531150

1154-
static ValueIsolationRegionInfo getDisconnected() {
1151+
static IsolationRegionInfo getDisconnected() {
11551152
return {Kind::Disconnected, {}};
11561153
}
11571154

1158-
static ValueIsolationRegionInfo
1159-
getActorIsolated(ActorIsolation actorIsolation) {
1155+
static IsolationRegionInfo getActorIsolated(ActorIsolation actorIsolation) {
11601156
return {Kind::Actor, actorIsolation};
11611157
}
11621158

11631159
/// Sometimes we may have something that is actor isolated or that comes from
11641160
/// a type. First try getActorIsolation and otherwise, just use the type.
1165-
static ValueIsolationRegionInfo getActorIsolated(NominalTypeDecl *nomDecl) {
1161+
static IsolationRegionInfo getActorIsolated(NominalTypeDecl *nomDecl) {
11661162
auto actorIsolation = swift::getActorIsolation(nomDecl);
11671163
if (actorIsolation.isActorIsolated())
11681164
return getActorIsolated(actorIsolation);
@@ -1171,7 +1167,7 @@ class ValueIsolationRegionInfo {
11711167
return {};
11721168
}
11731169

1174-
static ValueIsolationRegionInfo getTaskIsolated(SILValue value) {
1170+
static IsolationRegionInfo getTaskIsolated(SILValue value) {
11751171
return {Kind::Task, value};
11761172
}
11771173
};
@@ -1218,14 +1214,14 @@ struct PartitionOpEvaluator {
12181214
/// Call handleTransferNonTransferrable on our CRTP subclass.
12191215
void handleTransferNonTransferrable(
12201216
const PartitionOp &op, Element elt,
1221-
ValueIsolationRegionInfo isolationRegionInfo) const {
1217+
IsolationRegionInfo isolationRegionInfo) const {
12221218
return asImpl().handleTransferNonTransferrable(op, elt,
12231219
isolationRegionInfo);
12241220
}
12251221
/// Just call our CRTP subclass.
12261222
void handleTransferNonTransferrable(
12271223
const PartitionOp &op, Element elt, Element otherElement,
1228-
ValueIsolationRegionInfo isolationRegionInfo) const {
1224+
IsolationRegionInfo isolationRegionInfo) const {
12291225
return asImpl().handleTransferNonTransferrable(op, elt, otherElement,
12301226
isolationRegionInfo);
12311227
}
@@ -1235,7 +1231,7 @@ struct PartitionOpEvaluator {
12351231
return asImpl().isActorDerived(elt);
12361232
}
12371233

1238-
ValueIsolationRegionInfo getIsolationRegionInfo(Element elt) const {
1234+
IsolationRegionInfo getIsolationRegionInfo(Element elt) const {
12391235
return asImpl().getIsolationRegionInfo(elt);
12401236
}
12411237

@@ -1297,7 +1293,7 @@ struct PartitionOpEvaluator {
12971293
assert(p.isTrackingElement(op.getOpArgs()[0]) &&
12981294
"Transfer PartitionOp's argument should already be tracked");
12991295

1300-
ValueIsolationRegionInfo isolationRegionInfo =
1296+
IsolationRegionInfo isolationRegionInfo =
13011297
getIsolationRegionInfo(op.getOpArgs()[0]);
13021298

13031299
// If we know our direct value is actor derived... immediately emit an
@@ -1426,13 +1422,12 @@ struct PartitionOpEvaluatorBaseImpl : PartitionOpEvaluator<Subclass> {
14261422

14271423
/// This is called if we detect a never transferred element that was passed to
14281424
/// a transfer instruction.
1429-
void
1430-
handleTransferNonTransferrable(const PartitionOp &op, Element elt,
1431-
ValueIsolationRegionInfo regionInfo) const {}
1425+
void handleTransferNonTransferrable(const PartitionOp &op, Element elt,
1426+
IsolationRegionInfo regionInfo) const {}
14321427

14331428
void handleTransferNonTransferrable(
14341429
const PartitionOp &op, Element elt, Element otherElement,
1435-
ValueIsolationRegionInfo isolationRegionInfo) const {}
1430+
IsolationRegionInfo isolationRegionInfo) const {}
14361431

14371432
/// This is used to determine if an element is actor derived. If we determine
14381433
/// that a region containing such an element is transferred, we emit an error
@@ -1445,8 +1440,8 @@ struct PartitionOpEvaluatorBaseImpl : PartitionOpEvaluator<Subclass> {
14451440

14461441
/// Returns the information about \p elt's isolation that we ascertained from
14471442
/// SIL and the AST.
1448-
ValueIsolationRegionInfo getIsolationRegionInfo(Element elt) const {
1449-
return ValueIsolationRegionInfo();
1443+
IsolationRegionInfo getIsolationRegionInfo(Element elt) const {
1444+
return IsolationRegionInfo();
14501445
}
14511446

14521447
/// Check if the representative value of \p elt is closure captured at \p

0 commit comments

Comments
 (0)