@@ -52,6 +52,11 @@ inline bool isNonSendableType(SILType type, SILFunction *fn) {
52
52
return !type.isSendable (fn);
53
53
}
54
54
55
+ // / Return the ApplyIsolationCrossing for a specific \p inst if it
56
+ // / exists. Returns std::nullopt otherwise.
57
+ std::optional<ApplyIsolationCrossing>
58
+ getApplyIsolationCrossing (SILInstruction *inst);
59
+
55
60
// This is our PImpl type that we use to hide all of the internal details of
56
61
// the computation.
57
62
class PartitionOpTranslator ;
@@ -135,7 +140,7 @@ using TrackedValueFlagSet = OptionSet<TrackableValueFlag>;
135
140
class regionanalysisimpl ::TrackableValueState {
136
141
unsigned id;
137
142
TrackedValueFlagSet flagSet = {TrackableValueFlag::isMayAlias};
138
- IsolationRegionInfo regionInfo = IsolationRegionInfo ::getDisconnected();
143
+ SILIsolationInfo regionInfo = SILIsolationInfo ::getDisconnected();
139
144
140
145
public:
141
146
TrackableValueState (unsigned newID) : id(newID) {}
@@ -152,19 +157,19 @@ class regionanalysisimpl::TrackableValueState {
152
157
153
158
bool isNonSendable () const { return !isSendable (); }
154
159
155
- IsolationRegionInfo ::Kind getIsolationRegionInfoKind () const {
160
+ SILIsolationInfo ::Kind getIsolationRegionInfoKind () const {
156
161
return regionInfo.getKind ();
157
162
}
158
163
159
164
ActorIsolation getActorIsolation () const {
160
165
return regionInfo.getActorIsolation ().value ();
161
166
}
162
167
163
- void mergeIsolationRegionInfo (IsolationRegionInfo newRegionInfo) {
168
+ void mergeIsolationRegionInfo (SILIsolationInfo newRegionInfo) {
164
169
regionInfo = regionInfo.merge (newRegionInfo);
165
170
}
166
171
167
- IsolationRegionInfo getIsolationRegionInfo () const { return regionInfo; }
172
+ SILIsolationInfo getIsolationRegionInfo () const { return regionInfo; }
168
173
169
174
TrackableValueID getID () const { return TrackableValueID (id); }
170
175
@@ -263,7 +268,7 @@ class regionanalysisimpl::TrackableValue {
263
268
264
269
bool isNonSendable () const { return !isSendable (); }
265
270
266
- IsolationRegionInfo getIsolationRegionInfo () const {
271
+ SILIsolationInfo getIsolationRegionInfo () const {
267
272
return valueState.getIsolationRegionInfo ();
268
273
}
269
274
@@ -333,8 +338,8 @@ class RegionAnalysisValueMap {
333
338
// / exists. Returns nullptr otherwise.
334
339
SILInstruction *maybeGetActorIntroducingInst (Element trackableValueID) const ;
335
340
336
- IsolationRegionInfo getIsolationRegion (Element trackableValueID) const ;
337
- IsolationRegionInfo getIsolationRegion (SILValue trackableValueID) const ;
341
+ SILIsolationInfo getIsolationRegion (Element trackableValueID) const ;
342
+ SILIsolationInfo getIsolationRegion (SILValue trackableValueID) const ;
338
343
339
344
void print (llvm::raw_ostream &os) const ;
340
345
SWIFT_DEBUG_DUMP { print (llvm::dbgs ()); }
@@ -357,8 +362,8 @@ class RegionAnalysisValueMap {
357
362
std::optional<TrackableValue> tryToTrackValue (SILValue value) const ;
358
363
TrackableValue
359
364
getActorIntroducingRepresentative (SILInstruction *introducingInst,
360
- IsolationRegionInfo isolation) const ;
361
- bool mergeIsolationRegionInfo (SILValue value, IsolationRegionInfo isolation);
365
+ SILIsolationInfo isolation) const ;
366
+ bool mergeIsolationRegionInfo (SILValue value, SILIsolationInfo isolation);
362
367
bool valueHasID (SILValue value, bool dumpIfHasNoID = false );
363
368
TrackableValueID lookupValueID (SILValue value);
364
369
};
0 commit comments