@@ -493,7 +493,7 @@ namespace {
493
493
if (!getSingleton ()) return ;
494
494
if (!ElementsAreABIAccessible) {
495
495
emitAssignWithCopyCall (IGF, T, dest, src);
496
- } else if (isOutlined || T.hasLocalArchetype ()) {
496
+ } else if (isOutlined || T.hasParameterizedExistential ()) {
497
497
dest = getSingletonAddress (IGF, dest);
498
498
src = getSingletonAddress (IGF, src);
499
499
getSingleton ()->assignWithCopy (
@@ -508,7 +508,7 @@ namespace {
508
508
if (!getSingleton ()) return ;
509
509
if (!ElementsAreABIAccessible) {
510
510
emitAssignWithTakeCall (IGF, T, dest, src);
511
- } else if (isOutlined || T.hasLocalArchetype ()) {
511
+ } else if (isOutlined || T.hasParameterizedExistential ()) {
512
512
dest = getSingletonAddress (IGF, dest);
513
513
src = getSingletonAddress (IGF, src);
514
514
getSingleton ()->assignWithTake (
@@ -530,7 +530,7 @@ namespace {
530
530
if (!getSingleton ()) return ;
531
531
if (!ElementsAreABIAccessible) {
532
532
emitInitializeWithCopyCall (IGF, T, dest, src);
533
- } else if (isOutlined || T.hasLocalArchetype ()) {
533
+ } else if (isOutlined || T.hasParameterizedExistential ()) {
534
534
dest = getSingletonAddress (IGF, dest);
535
535
src = getSingletonAddress (IGF, src);
536
536
getSingleton ()->initializeWithCopy (
@@ -545,7 +545,7 @@ namespace {
545
545
if (!getSingleton ()) return ;
546
546
if (!ElementsAreABIAccessible) {
547
547
emitInitializeWithTakeCall (IGF, T, dest, src);
548
- } else if (isOutlined || T.hasLocalArchetype ()) {
548
+ } else if (isOutlined || T.hasParameterizedExistential ()) {
549
549
dest = getSingletonAddress (IGF, dest);
550
550
src = getSingletonAddress (IGF, src);
551
551
getSingleton ()->initializeWithTake (
@@ -601,7 +601,7 @@ namespace {
601
601
!getSingleton ()->isTriviallyDestroyable (ResilienceExpansion::Maximal)) {
602
602
if (!ElementsAreABIAccessible) {
603
603
emitDestroyCall (IGF, T, addr);
604
- } else if (isOutlined || T.hasLocalArchetype ()) {
604
+ } else if (isOutlined || T.hasParameterizedExistential ()) {
605
605
getSingleton ()->destroy (IGF, getSingletonAddress (IGF, addr),
606
606
getSingletonType (IGF.IGM , T), isOutlined);
607
607
} else {
@@ -2754,7 +2754,7 @@ namespace {
2754
2754
}
2755
2755
if (!ElementsAreABIAccessible) {
2756
2756
return emitDestroyCall (IGF, T, addr);
2757
- } else if (isOutlined || T.hasLocalArchetype ()) {
2757
+ } else if (isOutlined || T.hasParameterizedExistential ()) {
2758
2758
switch (CopyDestroyKind) {
2759
2759
case TriviallyDestroyable:
2760
2760
return ;
@@ -3041,7 +3041,7 @@ namespace {
3041
3041
SILType T, bool isOutlined) const override {
3042
3042
if (!ElementsAreABIAccessible) {
3043
3043
emitAssignWithCopyCall (IGF, T, dest, src);
3044
- } else if (isOutlined || T.hasLocalArchetype ()) {
3044
+ } else if (isOutlined || T.hasParameterizedExistential ()) {
3045
3045
emitIndirectAssign (IGF, dest, src, T, IsNotTake, isOutlined);
3046
3046
} else {
3047
3047
callOutlinedCopy (IGF, dest, src, T, IsNotInitialization, IsNotTake);
@@ -3052,7 +3052,7 @@ namespace {
3052
3052
SILType T, bool isOutlined) const override {
3053
3053
if (!ElementsAreABIAccessible) {
3054
3054
emitAssignWithTakeCall (IGF, T, dest, src);
3055
- } else if (isOutlined || T.hasLocalArchetype ()) {
3055
+ } else if (isOutlined || T.hasParameterizedExistential ()) {
3056
3056
emitIndirectAssign (IGF, dest, src, T, IsTake, isOutlined);
3057
3057
} else {
3058
3058
callOutlinedCopy (IGF, dest, src, T, IsNotInitialization, IsTake);
@@ -3063,7 +3063,7 @@ namespace {
3063
3063
SILType T, bool isOutlined) const override {
3064
3064
if (!ElementsAreABIAccessible) {
3065
3065
emitInitializeWithCopyCall (IGF, T, dest, src);
3066
- } else if (isOutlined || T.hasLocalArchetype ()) {
3066
+ } else if (isOutlined || T.hasParameterizedExistential ()) {
3067
3067
emitIndirectInitialize (IGF, dest, src, T, IsNotTake, isOutlined);
3068
3068
} else {
3069
3069
callOutlinedCopy (IGF, dest, src, T, IsInitialization, IsNotTake);
@@ -3074,7 +3074,7 @@ namespace {
3074
3074
SILType T, bool isOutlined) const override {
3075
3075
if (!ElementsAreABIAccessible) {
3076
3076
emitInitializeWithTakeCall (IGF, T, dest, src);
3077
- } else if (isOutlined || T.hasLocalArchetype ()) {
3077
+ } else if (isOutlined || T.hasParameterizedExistential ()) {
3078
3078
emitIndirectInitialize (IGF, dest, src, T, IsTake, isOutlined);
3079
3079
} else {
3080
3080
callOutlinedCopy (IGF, dest, src, T, IsInitialization, IsTake);
@@ -4899,7 +4899,7 @@ namespace {
4899
4899
SILType T, bool isOutlined) const override {
4900
4900
if (!ElementsAreABIAccessible) {
4901
4901
emitAssignWithCopyCall (IGF, T, dest, src);
4902
- } else if (isOutlined || T.hasLocalArchetype ()) {
4902
+ } else if (isOutlined || T.hasParameterizedExistential ()) {
4903
4903
emitIndirectAssign (IGF, dest, src, T, IsNotTake, isOutlined);
4904
4904
} else {
4905
4905
callOutlinedCopy (IGF, dest, src, T, IsNotInitialization, IsNotTake);
@@ -4910,7 +4910,7 @@ namespace {
4910
4910
SILType T, bool isOutlined) const override {
4911
4911
if (!ElementsAreABIAccessible) {
4912
4912
emitAssignWithTakeCall (IGF, T, dest, src);
4913
- } else if (isOutlined || T.hasLocalArchetype ()) {
4913
+ } else if (isOutlined || T.hasParameterizedExistential ()) {
4914
4914
emitIndirectAssign (IGF, dest, src, T, IsTake, isOutlined);
4915
4915
} else {
4916
4916
callOutlinedCopy (IGF, dest, src, T, IsNotInitialization, IsTake);
@@ -4921,7 +4921,7 @@ namespace {
4921
4921
SILType T, bool isOutlined) const override {
4922
4922
if (!ElementsAreABIAccessible) {
4923
4923
emitInitializeWithCopyCall (IGF, T, dest, src);
4924
- } else if (isOutlined || T.hasLocalArchetype ()) {
4924
+ } else if (isOutlined || T.hasParameterizedExistential ()) {
4925
4925
emitIndirectInitialize (IGF, dest, src, T, IsNotTake, isOutlined);
4926
4926
} else {
4927
4927
callOutlinedCopy (IGF, dest, src, T, IsInitialization, IsNotTake);
@@ -4932,7 +4932,7 @@ namespace {
4932
4932
SILType T, bool isOutlined) const override {
4933
4933
if (!ElementsAreABIAccessible) {
4934
4934
emitInitializeWithTakeCall (IGF, T, dest, src);
4935
- } else if (isOutlined || T.hasLocalArchetype ()) {
4935
+ } else if (isOutlined || T.hasParameterizedExistential ()) {
4936
4936
emitIndirectInitialize (IGF, dest, src, T, IsTake, isOutlined);
4937
4937
} else {
4938
4938
callOutlinedCopy (IGF, dest, src, T, IsInitialization, IsTake);
@@ -4966,7 +4966,7 @@ namespace {
4966
4966
}
4967
4967
if (!ElementsAreABIAccessible) {
4968
4968
emitDestroyCall (IGF, T, addr);
4969
- } else if (isOutlined || T.hasLocalArchetype ()) {
4969
+ } else if (isOutlined || T.hasParameterizedExistential ()) {
4970
4970
switch (CopyDestroyKind) {
4971
4971
case TriviallyDestroyable:
4972
4972
return ;
0 commit comments