Skip to content

Commit 465bb23

Browse files
committed
[region-isolation] Rename callback handleFailure -> handleLocalUseAfterTransfer.
Now that we have other forms of error callbacks, having such a general name for any specific failure is misleading and hinds intent.
1 parent 0f5dc13 commit 465bb23

File tree

4 files changed

+21
-17
lines changed

4 files changed

+21
-17
lines changed

include/swift/SILOptimizer/Utils/PartitionUtils.h

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1028,10 +1028,10 @@ struct PartitionOpEvaluator {
10281028
return asImpl().shouldEmitVerboseLogging();
10291029
}
10301030

1031-
/// Call handleFailure on our CRTP subclass.
1032-
void handleFailure(const PartitionOp &op, Element elt,
1033-
TransferringOperand transferringOp) const {
1034-
return asImpl().handleFailure(op, elt, transferringOp);
1031+
/// Call handleLocalUseAfterTransfer on our CRTP subclass.
1032+
void handleLocalUseAfterTransfer(const PartitionOp &op, Element elt,
1033+
TransferringOperand transferringOp) const {
1034+
return asImpl().handleLocalUseAfterTransfer(op, elt, transferringOp);
10351035
}
10361036

10371037
/// Call handleTransferNonTransferrable on our CRTP subclass.
@@ -1086,7 +1086,8 @@ struct PartitionOpEvaluator {
10861086
// value... emit an error.
10871087
if (auto *transferredOperandSet = p.getTransferred(op.getOpArgs()[1])) {
10881088
for (auto transferredOperand : transferredOperandSet->data()) {
1089-
handleFailure(op, op.getOpArgs()[1], transferredOperand);
1089+
handleLocalUseAfterTransfer(op, op.getOpArgs()[1],
1090+
transferredOperand);
10901091
}
10911092
}
10921093
p.assignElement(op.getOpArgs()[0], op.getOpArgs()[1]);
@@ -1169,12 +1170,14 @@ struct PartitionOpEvaluator {
11691170
// if attempting to merge a transferred region, handle the failure
11701171
if (auto *transferredOperandSet = p.getTransferred(op.getOpArgs()[0])) {
11711172
for (auto transferredOperand : transferredOperandSet->data()) {
1172-
handleFailure(op, op.getOpArgs()[0], transferredOperand);
1173+
handleLocalUseAfterTransfer(op, op.getOpArgs()[0],
1174+
transferredOperand);
11731175
}
11741176
}
11751177
if (auto *transferredOperandSet = p.getTransferred(op.getOpArgs()[1])) {
11761178
for (auto transferredOperand : transferredOperandSet->data()) {
1177-
handleFailure(op, op.getOpArgs()[1], transferredOperand);
1179+
handleLocalUseAfterTransfer(op, op.getOpArgs()[1],
1180+
transferredOperand);
11781181
}
11791182
}
11801183

@@ -1187,7 +1190,8 @@ struct PartitionOpEvaluator {
11871190
"Require PartitionOp's argument should already be tracked");
11881191
if (auto *transferredOperandSet = p.getTransferred(op.getOpArgs()[0])) {
11891192
for (auto transferredOperand : transferredOperandSet->data()) {
1190-
handleFailure(op, op.getOpArgs()[0], transferredOperand);
1193+
handleLocalUseAfterTransfer(op, op.getOpArgs()[0],
1194+
transferredOperand);
11911195
}
11921196
}
11931197
return;
@@ -1233,8 +1237,8 @@ struct PartitionOpEvaluatorBaseImpl : PartitionOpEvaluator<Subclass> {
12331237
/// 3. The operand of the instruction that originally transferred the
12341238
/// region. Can be used to get the immediate value transferred or the
12351239
/// transferring instruction.
1236-
void handleFailure(const PartitionOp &op, Element elt,
1237-
TransferringOperand transferringOp) const {}
1240+
void handleLocalUseAfterTransfer(const PartitionOp &op, Element elt,
1241+
TransferringOperand transferringOp) const {}
12381242

12391243
/// This is called if we detect a never transferred element that was passed to
12401244
/// a transfer instruction.

lib/SILOptimizer/Analysis/RegionAnalysis.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3009,8 +3009,8 @@ bool BlockPartitionState::recomputeExitFromEntry(
30093009
};
30103010
ComputeEvaluator eval(workingPartition, ptrSetFactory, translator);
30113011
for (const auto &partitionOp : blockPartitionOps) {
3012-
// By calling apply without providing a `handleFailure` closure, errors
3013-
// will be suppressed
3012+
// By calling apply without providing any error handling callbacks, errors
3013+
// will be surpressed. will be suppressed
30143014
eval.apply(partitionOp);
30153015
}
30163016
LLVM_DEBUG(llvm::dbgs() << " Working Partition: ";

lib/SILOptimizer/Mandatory/TransferNonSendable.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1261,9 +1261,9 @@ struct DiagnosticEvaluator final
12611261
transferOpToRequireInstMultiMap(transferOpToRequireInstMultiMap),
12621262
transferredNonTransferrable(transferredNonTransferrable) {}
12631263

1264-
void handleFailure(const PartitionOp &partitionOp,
1265-
TrackableValueID transferredVal,
1266-
TransferringOperand transferringOp) const {
1264+
void handleLocalUseAfterTransfer(const PartitionOp &partitionOp,
1265+
TrackableValueID transferredVal,
1266+
TransferringOperand transferringOp) const {
12671267
// Ignore this if we have a gep like instruction that is returning a
12681268
// sendable type and transferringOp was not set with closure
12691269
// capture.

unittests/SILOptimizer/PartitionUtilsTest.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -542,8 +542,8 @@ struct PartitionOpEvaluatorWithFailureCallback final
542542
: PartitionOpEvaluatorBaseImpl(workingPartition, ptrSetFactory),
543543
failureCallback(failureCallback) {}
544544

545-
void handleFailure(const PartitionOp &op, Element elt,
546-
TransferringOperand transferringOp) const {
545+
void handleLocalUseAfterTransfer(const PartitionOp &op, Element elt,
546+
TransferringOperand transferringOp) const {
547547
failureCallback(op, elt, transferringOp);
548548
}
549549
};

0 commit comments

Comments
 (0)