@@ -1028,10 +1028,10 @@ struct PartitionOpEvaluator {
1028
1028
return asImpl ().shouldEmitVerboseLogging ();
1029
1029
}
1030
1030
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);
1035
1035
}
1036
1036
1037
1037
// / Call handleTransferNonTransferrable on our CRTP subclass.
@@ -1086,7 +1086,8 @@ struct PartitionOpEvaluator {
1086
1086
// value... emit an error.
1087
1087
if (auto *transferredOperandSet = p.getTransferred (op.getOpArgs ()[1 ])) {
1088
1088
for (auto transferredOperand : transferredOperandSet->data ()) {
1089
- handleFailure (op, op.getOpArgs ()[1 ], transferredOperand);
1089
+ handleLocalUseAfterTransfer (op, op.getOpArgs ()[1 ],
1090
+ transferredOperand);
1090
1091
}
1091
1092
}
1092
1093
p.assignElement (op.getOpArgs ()[0 ], op.getOpArgs ()[1 ]);
@@ -1169,12 +1170,14 @@ struct PartitionOpEvaluator {
1169
1170
// if attempting to merge a transferred region, handle the failure
1170
1171
if (auto *transferredOperandSet = p.getTransferred (op.getOpArgs ()[0 ])) {
1171
1172
for (auto transferredOperand : transferredOperandSet->data ()) {
1172
- handleFailure (op, op.getOpArgs ()[0 ], transferredOperand);
1173
+ handleLocalUseAfterTransfer (op, op.getOpArgs ()[0 ],
1174
+ transferredOperand);
1173
1175
}
1174
1176
}
1175
1177
if (auto *transferredOperandSet = p.getTransferred (op.getOpArgs ()[1 ])) {
1176
1178
for (auto transferredOperand : transferredOperandSet->data ()) {
1177
- handleFailure (op, op.getOpArgs ()[1 ], transferredOperand);
1179
+ handleLocalUseAfterTransfer (op, op.getOpArgs ()[1 ],
1180
+ transferredOperand);
1178
1181
}
1179
1182
}
1180
1183
@@ -1187,7 +1190,8 @@ struct PartitionOpEvaluator {
1187
1190
" Require PartitionOp's argument should already be tracked" );
1188
1191
if (auto *transferredOperandSet = p.getTransferred (op.getOpArgs ()[0 ])) {
1189
1192
for (auto transferredOperand : transferredOperandSet->data ()) {
1190
- handleFailure (op, op.getOpArgs ()[0 ], transferredOperand);
1193
+ handleLocalUseAfterTransfer (op, op.getOpArgs ()[0 ],
1194
+ transferredOperand);
1191
1195
}
1192
1196
}
1193
1197
return ;
@@ -1233,8 +1237,8 @@ struct PartitionOpEvaluatorBaseImpl : PartitionOpEvaluator<Subclass> {
1233
1237
// / 3. The operand of the instruction that originally transferred the
1234
1238
// / region. Can be used to get the immediate value transferred or the
1235
1239
// / 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 {}
1238
1242
1239
1243
// / This is called if we detect a never transferred element that was passed to
1240
1244
// / a transfer instruction.
0 commit comments