Skip to content

Commit 2e403b9

Browse files
committed
[region-isolation] Remove dead code path.
This also has the nice effect of making the subsequent refactoring I am going to do simpler.
1 parent f23ad55 commit 2e403b9

File tree

2 files changed

+4
-56
lines changed

2 files changed

+4
-56
lines changed

include/swift/SILOptimizer/Utils/PartitionUtils.h

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -975,14 +975,11 @@ class PartitionOpError {
975975
const PartitionOp *op;
976976
Element sentElement;
977977
SILDynamicMergedIsolationInfo isolationRegionInfo;
978-
std::optional<Element> actualSentElement;
979978

980979
SentNeverSendableError(const PartitionOp &op, Element sentElement,
981-
SILDynamicMergedIsolationInfo isolationRegionInfo,
982-
std::optional<Element> actualSentElement)
980+
SILDynamicMergedIsolationInfo isolationRegionInfo)
983981
: op(&op), sentElement(sentElement),
984-
isolationRegionInfo(isolationRegionInfo),
985-
actualSentElement(actualSentElement) {}
982+
isolationRegionInfo(isolationRegionInfo) {}
986983
};
987984

988985
struct AssignNeverSendableIntoSendingResultError {
@@ -1561,7 +1558,7 @@ struct PartitionOpEvaluator {
15611558

15621559
// Ok, we actually need to emit a call to the callback.
15631560
return handleError(
1564-
SentNeverSendableError(op, elt, dynamicMergedIsolationInfo, {}));
1561+
SentNeverSendableError(op, elt, dynamicMergedIsolationInfo));
15651562
}
15661563
};
15671564

lib/SILOptimizer/Mandatory/TransferNonSendable.cpp

Lines changed: 1 addition & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -2509,51 +2509,6 @@ struct DiagnosticEvaluator final
25092509
isolationRegionInfo);
25102510
}
25112511

2512-
void handleTransferNonTransferrableWithActualValue(
2513-
SentNeverSendableError error) const {
2514-
const PartitionOp &partitionOp = *error.op;
2515-
Element transferredVal = error.sentElement;
2516-
Element actualNonTransferrableValue = *error.actualSentElement;
2517-
auto isolationRegionInfo = error.isolationRegionInfo;
2518-
REGIONBASEDISOLATION_LOG(
2519-
llvm::dbgs() << " Emitting Error. Kind: Send Non Sendable\n"
2520-
<< " ID: %%" << transferredVal << "\n"
2521-
<< " Rep: "
2522-
<< *info->getValueMap().getRepresentative(transferredVal)
2523-
<< " Dynamic Isolation Region: ";
2524-
isolationRegionInfo.printForOneLineLogging(llvm::dbgs());
2525-
llvm::dbgs() << '\n');
2526-
2527-
auto *self = const_cast<DiagnosticEvaluator *>(this);
2528-
// If we have a non-actor introducing fake representative value, just use
2529-
// the value that actually introduced the actor isolation.
2530-
if (auto nonTransferrableValue = info->getValueMap().maybeGetRepresentative(
2531-
actualNonTransferrableValue)) {
2532-
REGIONBASEDISOLATION_LOG(llvm::dbgs() << " ActualTransfer: "
2533-
<< nonTransferrableValue);
2534-
self->transferredNonTransferrable.emplace_back(partitionOp.getSourceOp(),
2535-
nonTransferrableValue,
2536-
isolationRegionInfo);
2537-
} else if (auto *nonTransferrableInst =
2538-
info->getValueMap().maybeGetActorIntroducingInst(
2539-
actualNonTransferrableValue)) {
2540-
REGIONBASEDISOLATION_LOG(llvm::dbgs() << " ActualTransfer: "
2541-
<< *nonTransferrableInst);
2542-
self->transferredNonTransferrable.emplace_back(
2543-
partitionOp.getSourceOp(), nonTransferrableInst, isolationRegionInfo);
2544-
} else {
2545-
// Otherwise, just use the actual value.
2546-
//
2547-
// TODO: We are eventually going to want to be able to say that it is b/c
2548-
// of the actor isolated parameter. Maybe we should put in the actual
2549-
// region isolation info here.
2550-
self->transferredNonTransferrable.emplace_back(
2551-
partitionOp.getSourceOp(),
2552-
info->getValueMap().getRepresentative(transferredVal),
2553-
isolationRegionInfo);
2554-
}
2555-
}
2556-
25572512
void handleAssignTransferNonTransferrableIntoSendingResult(
25582513
AssignNeverSendableIntoSendingResultError error) const {
25592514
const PartitionOp &partitionOp = *error.op;
@@ -2617,11 +2572,7 @@ struct DiagnosticEvaluator final
26172572
return handleLocalUseAfterTransfer(error.getLocalUseAfterSendError());
26182573
}
26192574
case PartitionOpError::SentNeverSendable: {
2620-
auto e = error.getSentNeverSendableError();
2621-
if (auto otherElt = e.actualSentElement) {
2622-
return handleTransferNonTransferrableWithActualValue(e);
2623-
}
2624-
return handleTransferNonTransferrable(e);
2575+
return handleTransferNonTransferrable(error.getSentNeverSendableError());
26252576
}
26262577
case PartitionOpError::AssignNeverSendableIntoSendingResult: {
26272578
return handleAssignTransferNonTransferrableIntoSendingResult(

0 commit comments

Comments
 (0)