@@ -502,6 +502,10 @@ struct OwnedValueIntroducerKind {
502
502
// / owned.
503
503
Struct,
504
504
505
+ // / An owned value that is from a tuple that has multiple operands that are
506
+ // / owned.
507
+ Tuple,
508
+
505
509
// / An owned value that is a function argument.
506
510
FunctionArgument,
507
511
@@ -528,6 +532,8 @@ struct OwnedValueIntroducerKind {
528
532
return OwnedValueIntroducerKind (BeginApply);
529
533
case ValueKind::StructInst:
530
534
return OwnedValueIntroducerKind (Struct);
535
+ case ValueKind::TupleInst:
536
+ return OwnedValueIntroducerKind (Tuple);
531
537
case ValueKind::SILPhiArgument: {
532
538
auto *phiArg = cast<SILPhiArgument>(value);
533
539
if (dyn_cast_or_null<TryApplyInst>(phiArg->getSingleTerminator ())) {
@@ -621,6 +627,7 @@ struct OwnedValueIntroducer {
621
627
case OwnedValueIntroducerKind::LoadTake:
622
628
case OwnedValueIntroducerKind::Phi:
623
629
case OwnedValueIntroducerKind::Struct:
630
+ case OwnedValueIntroducerKind::Tuple:
624
631
case OwnedValueIntroducerKind::FunctionArgument:
625
632
case OwnedValueIntroducerKind::PartialApplyInit:
626
633
case OwnedValueIntroducerKind::AllocBoxInit:
@@ -639,6 +646,7 @@ struct OwnedValueIntroducer {
639
646
case OwnedValueIntroducerKind::Phi:
640
647
return true ;
641
648
case OwnedValueIntroducerKind::Struct:
649
+ case OwnedValueIntroducerKind::Tuple:
642
650
case OwnedValueIntroducerKind::Copy:
643
651
case OwnedValueIntroducerKind::LoadCopy:
644
652
case OwnedValueIntroducerKind::Apply:
0 commit comments