File tree Expand file tree Collapse file tree 2 files changed +16
-1
lines changed
include/swift/SILOptimizer/Utils
lib/SILOptimizer/Mandatory Expand file tree Collapse file tree 2 files changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -323,6 +323,12 @@ class SILIsolationInfo {
323
323
return (kind == Task || kind == Actor) && bool (isolatedValue);
324
324
}
325
325
326
+ SILValue maybeGetIsolatedValue () const {
327
+ if (!hasIsolatedValue ())
328
+ return {};
329
+ return getIsolatedValue ();
330
+ }
331
+
326
332
static SILIsolationInfo getDisconnected (bool isUnsafeNonIsolated) {
327
333
return {Kind::Disconnected,
328
334
isUnsafeNonIsolated ? Flag::UnsafeNonIsolated : Flag::None};
Original file line number Diff line number Diff line change @@ -2217,7 +2217,16 @@ struct DiagnosticEvaluator final
2217
2217
<< *info->getValueMap ().getRepresentative (transferredVal)
2218
2218
<< " Dynamic Isolation Region: " ;
2219
2219
isolationRegionInfo.printForOneLineLogging (llvm::dbgs ());
2220
- llvm::dbgs () << ' \n ' );
2220
+ llvm::dbgs () << ' \n ' ;
2221
+ if (auto isolatedValue = isolationRegionInfo->maybeGetIsolatedValue ()) {
2222
+ llvm::dbgs () << " Isolated Value: " << isolatedValue;
2223
+ auto name = inferNameHelper (isolatedValue);
2224
+ llvm::dbgs () << " Isolated Value Name: "
2225
+ << (name.has_value () ? name->get () : " none" ) << ' \n ' ;
2226
+ } else {
2227
+ llvm::dbgs () << " Isolated Value: none\n " ;
2228
+ }
2229
+ );
2221
2230
auto *self = const_cast <DiagnosticEvaluator *>(this );
2222
2231
auto nonTransferrableValue =
2223
2232
info->getValueMap ().getRepresentative (transferredVal);
You can’t perform that action at this time.
0 commit comments