@@ -52,6 +52,11 @@ inline bool isNonSendableType(SILType type, SILFunction *fn) {
5252 return !type.isSendable (fn);
5353}
5454
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+
5560// This is our PImpl type that we use to hide all of the internal details of
5661// the computation.
5762class PartitionOpTranslator ;
@@ -135,7 +140,7 @@ using TrackedValueFlagSet = OptionSet<TrackableValueFlag>;
135140class regionanalysisimpl ::TrackableValueState {
136141 unsigned id;
137142 TrackedValueFlagSet flagSet = {TrackableValueFlag::isMayAlias};
138- IsolationRegionInfo regionInfo = IsolationRegionInfo ::getDisconnected();
143+ SILIsolationInfo regionInfo = SILIsolationInfo ::getDisconnected();
139144
140145public:
141146 TrackableValueState (unsigned newID) : id(newID) {}
@@ -152,19 +157,19 @@ class regionanalysisimpl::TrackableValueState {
152157
153158 bool isNonSendable () const { return !isSendable (); }
154159
155- IsolationRegionInfo ::Kind getIsolationRegionInfoKind () const {
160+ SILIsolationInfo ::Kind getIsolationRegionInfoKind () const {
156161 return regionInfo.getKind ();
157162 }
158163
159164 ActorIsolation getActorIsolation () const {
160165 return regionInfo.getActorIsolation ().value ();
161166 }
162167
163- void mergeIsolationRegionInfo (IsolationRegionInfo newRegionInfo) {
168+ void mergeIsolationRegionInfo (SILIsolationInfo newRegionInfo) {
164169 regionInfo = regionInfo.merge (newRegionInfo);
165170 }
166171
167- IsolationRegionInfo getIsolationRegionInfo () const { return regionInfo; }
172+ SILIsolationInfo getIsolationRegionInfo () const { return regionInfo; }
168173
169174 TrackableValueID getID () const { return TrackableValueID (id); }
170175
@@ -263,7 +268,7 @@ class regionanalysisimpl::TrackableValue {
263268
264269 bool isNonSendable () const { return !isSendable (); }
265270
266- IsolationRegionInfo getIsolationRegionInfo () const {
271+ SILIsolationInfo getIsolationRegionInfo () const {
267272 return valueState.getIsolationRegionInfo ();
268273 }
269274
@@ -333,8 +338,8 @@ class RegionAnalysisValueMap {
333338 // / exists. Returns nullptr otherwise.
334339 SILInstruction *maybeGetActorIntroducingInst (Element trackableValueID) const ;
335340
336- IsolationRegionInfo getIsolationRegion (Element trackableValueID) const ;
337- IsolationRegionInfo getIsolationRegion (SILValue trackableValueID) const ;
341+ SILIsolationInfo getIsolationRegion (Element trackableValueID) const ;
342+ SILIsolationInfo getIsolationRegion (SILValue trackableValueID) const ;
338343
339344 void print (llvm::raw_ostream &os) const ;
340345 SWIFT_DEBUG_DUMP { print (llvm::dbgs ()); }
@@ -357,8 +362,8 @@ class RegionAnalysisValueMap {
357362 std::optional<TrackableValue> tryToTrackValue (SILValue value) const ;
358363 TrackableValue
359364 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);
362367 bool valueHasID (SILValue value, bool dumpIfHasNoID = false );
363368 TrackableValueID lookupValueID (SILValue value);
364369};
0 commit comments