Skip to content

Commit 36ec99a

Browse files
committed
[region-isolation] Tweak the logging to make it easier to quickly find the emitted error when triaging code.
Just trying to improve my triaging speed by making it easier to triage. (cherry picked from commit a36b374)
1 parent fcad028 commit 36ec99a

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

include/swift/SILOptimizer/Utils/SILIsolationInfo.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,12 @@ class SILIsolationInfo {
290290
return isolatedValue;
291291
}
292292

293+
SILValue maybeGetIsolatedValue() const {
294+
if (kind != Task && kind != Actor)
295+
return SILValue();
296+
return getIsolatedValue();
297+
}
298+
293299
/// Return the specific SILValue for the actor that our isolated value is
294300
/// isolated to if one exists.
295301
ActorInstance getActorInstance() const {

lib/SILOptimizer/Mandatory/TransferNonSendable.cpp

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1211,8 +1211,8 @@ void TransferNonSendableImpl::emitUseAfterTransferDiagnostics() {
12111211
if (transferOpToRequireInstMultiMap.empty())
12121212
return;
12131213

1214-
REGIONBASEDISOLATION_LOG(llvm::dbgs()
1215-
<< "Emitting use after transfer diagnostics.\n");
1214+
REGIONBASEDISOLATION_LOG(
1215+
llvm::dbgs() << "Emitting Error. Kind: Use After Send diagnostics.\n");
12161216

12171217
for (auto [transferOp, requireInsts] :
12181218
transferOpToRequireInstMultiMap.getRange()) {
@@ -1964,8 +1964,8 @@ void TransferNonSendableImpl::emitTransferredNonTransferrableDiagnostics() {
19641964
if (transferredNonTransferrableInfoList.empty())
19651965
return;
19661966

1967-
REGIONBASEDISOLATION_LOG(
1968-
llvm::dbgs() << "Emitting transfer non transferrable diagnostics.\n");
1967+
REGIONBASEDISOLATION_LOG(llvm::dbgs()
1968+
<< "Emitting Error. Kind: Send Never Sendable.\n");
19691969

19701970
for (auto info : transferredNonTransferrableInfoList) {
19711971
TransferNonTransferrableDiagnosticInferrer diagnosticInferrer(
@@ -2367,7 +2367,7 @@ struct DiagnosticEvaluator final
23672367
auto rep = info->getValueMap().getRepresentative(transferredVal);
23682368
REGIONBASEDISOLATION_LOG(
23692369
llvm::dbgs()
2370-
<< " Emitting Use After Transfer Error!\n"
2370+
<< " Emitting Error. Kind: Use After Send\n"
23712371
<< " Transferring Inst: " << *transferringOp->getUser()
23722372
<< " Transferring Op Value: " << transferringOp->get()
23732373
<< " Require Inst: " << *partitionOp.getSourceInst()
@@ -2383,7 +2383,7 @@ struct DiagnosticEvaluator final
23832383
const PartitionOp &partitionOp, Element transferredVal,
23842384
SILDynamicMergedIsolationInfo isolationRegionInfo) const {
23852385
REGIONBASEDISOLATION_LOG(
2386-
llvm::dbgs() << " Emitting TransferNonTransferrable Error!\n"
2386+
llvm::dbgs() << " Emitting Error. Kind: Send Non Sendable\n"
23872387
<< " ID: %%" << transferredVal << "\n"
23882388
<< " Rep: "
23892389
<< *info->getValueMap().getRepresentative(transferredVal)
@@ -2402,7 +2402,8 @@ struct DiagnosticEvaluator final
24022402
const PartitionOp &partitionOp, Element inoutSendingVal,
24032403
SILDynamicMergedIsolationInfo isolationRegionInfo) const {
24042404
REGIONBASEDISOLATION_LOG(
2405-
llvm::dbgs() << " Emitting InOut Sending ActorIsolated at end of "
2405+
llvm::dbgs() << " Emitting Error. Kind: InOut Sending ActorIsolated "
2406+
"at end of "
24062407
"Function Error!\n"
24072408
<< " ID: %%" << inoutSendingVal << "\n"
24082409
<< " Rep: "
@@ -2424,7 +2425,7 @@ struct DiagnosticEvaluator final
24242425
Element actualNonTransferrableValue,
24252426
SILDynamicMergedIsolationInfo isolationRegionInfo) const {
24262427
REGIONBASEDISOLATION_LOG(
2427-
llvm::dbgs() << " Emitting TransferNonTransferrable Error!\n"
2428+
llvm::dbgs() << " Emitting Error. Kind: Send Non Sendable\n"
24282429
<< " ID: %%" << transferredVal << "\n"
24292430
<< " Rep: "
24302431
<< *info->getValueMap().getRepresentative(transferredVal)
@@ -2469,7 +2470,7 @@ struct DiagnosticEvaluator final
24692470
auto srcRep = info->getValueMap().getRepresentativeValue(srcElement);
24702471
REGIONBASEDISOLATION_LOG(
24712472
llvm::dbgs()
2472-
<< " Emitting Error! Kind: Assign Isolated Into Sending Result!\n"
2473+
<< " Emitting Error. Kind: Assign Isolated Into Sending Result!\n"
24732474
<< " Assign Inst: " << *partitionOp.getSourceInst()
24742475
<< " Dest Value: " << *destValue
24752476
<< " Dest Element: " << destElement << '\n'
@@ -2488,7 +2489,8 @@ struct DiagnosticEvaluator final
24882489
auto rep = info->getValueMap().getRepresentative(inoutSendingVal);
24892490
REGIONBASEDISOLATION_LOG(
24902491
llvm::dbgs()
2491-
<< " Emitting InOut Not Reinitialized At End Of Function!\n"
2492+
<< " Emitting Error. Kind: InOut Not Reinitialized At End Of "
2493+
"Function\n"
24922494
<< " Transferring Inst: " << *transferringOp->getUser()
24932495
<< " Transferring Op Value: " << transferringOp->get()
24942496
<< " Require Inst: " << *partitionOp.getSourceInst()

0 commit comments

Comments
 (0)