@@ -8285,8 +8285,7 @@ class MarkUnresolvedMoveAddrInst
8285
8285
// / checking by the checkers that rely upon this instruction.
8286
8286
class MarkMustCheckInst
8287
8287
: public UnaryInstructionBase<SILInstructionKind::MarkMustCheckInst,
8288
- SingleValueInstruction>,
8289
- public ForwardingInstruction {
8288
+ OwnershipForwardingSingleValueInstruction> {
8290
8289
friend class SILBuilder ;
8291
8290
8292
8291
public:
@@ -8325,9 +8324,8 @@ class MarkMustCheckInst
8325
8324
8326
8325
MarkMustCheckInst (SILDebugLocation DebugLoc, SILValue operand,
8327
8326
CheckKind checkKind)
8328
- : UnaryInstructionBase(DebugLoc, operand, operand->getType ()),
8329
- ForwardingInstruction(SILInstructionKind::MarkMustCheckInst,
8330
- operand->getOwnershipKind ()),
8327
+ : UnaryInstructionBase(DebugLoc, operand, operand->getType (),
8328
+ operand->getOwnershipKind()),
8331
8329
kind(checkKind) {
8332
8330
assert (operand->getType ().isMoveOnly () &&
8333
8331
" mark_must_check can only take a move only typed value" );
@@ -8356,8 +8354,7 @@ class MarkMustCheckInst
8356
8354
class MarkUnresolvedReferenceBindingInst
8357
8355
: public UnaryInstructionBase<
8358
8356
SILInstructionKind::MarkUnresolvedReferenceBindingInst,
8359
- SingleValueInstruction>,
8360
- public ForwardingInstruction {
8357
+ OwnershipForwardingSingleValueInstruction> {
8361
8358
friend class SILBuilder ;
8362
8359
8363
8360
public:
@@ -8372,10 +8369,8 @@ class MarkUnresolvedReferenceBindingInst
8372
8369
8373
8370
MarkUnresolvedReferenceBindingInst (SILDebugLocation debugLoc,
8374
8371
SILValue operand, Kind kind)
8375
- : UnaryInstructionBase(debugLoc, operand, operand->getType ()),
8376
- ForwardingInstruction(
8377
- SILInstructionKind::MarkUnresolvedReferenceBindingInst,
8378
- operand->getOwnershipKind ()),
8372
+ : UnaryInstructionBase(debugLoc, operand, operand->getType (),
8373
+ operand->getOwnershipKind()),
8379
8374
kind(kind) {}
8380
8375
8381
8376
public:
@@ -10819,9 +10814,7 @@ inline bool ForwardingInstruction::isa(SILInstructionKind kind) {
10819
10814
OwnershipForwardingTermInst::classof (kind) ||
10820
10815
OwnershipForwardingConversionInst::classof (kind) ||
10821
10816
OwnershipForwardingSelectEnumInstBase::classof (kind) ||
10822
- OwnershipForwardingMultipleValueInstruction::classof (kind) ||
10823
- kind == SILInstructionKind::MarkMustCheckInst ||
10824
- kind == SILInstructionKind::MarkUnresolvedReferenceBindingInst;
10817
+ OwnershipForwardingMultipleValueInstruction::classof (kind);
10825
10818
}
10826
10819
10827
10820
inline ForwardingInstruction *ForwardingInstruction::get (SILInstruction *inst) {
@@ -10840,10 +10833,6 @@ inline ForwardingInstruction *ForwardingInstruction::get(SILInstruction *inst) {
10840
10833
if (auto *result =
10841
10834
dyn_cast<OwnershipForwardingMultipleValueInstruction>(inst))
10842
10835
return result;
10843
- if (auto *result = dyn_cast<MarkMustCheckInst>(inst))
10844
- return result;
10845
- if (auto *result = dyn_cast<MarkUnresolvedReferenceBindingInst>(inst))
10846
- return result;
10847
10836
if (auto *result = dyn_cast<MoveOnlyWrapperToCopyableValueInst>(inst))
10848
10837
return result;
10849
10838
if (auto *result = dyn_cast<CopyableToMoveOnlyWrapperValueInst>(inst))
0 commit comments