@@ -493,7 +493,7 @@ namespace {
493493 if (!getSingleton ()) return ;
494494 if (!ElementsAreABIAccessible) {
495495 emitAssignWithCopyCall (IGF, T, dest, src);
496- } else if (isOutlined || T.hasLocalArchetype ()) {
496+ } else if (isOutlined || T.hasParameterizedExistential ()) {
497497 dest = getSingletonAddress (IGF, dest);
498498 src = getSingletonAddress (IGF, src);
499499 getSingleton ()->assignWithCopy (
@@ -508,7 +508,7 @@ namespace {
508508 if (!getSingleton ()) return ;
509509 if (!ElementsAreABIAccessible) {
510510 emitAssignWithTakeCall (IGF, T, dest, src);
511- } else if (isOutlined || T.hasLocalArchetype ()) {
511+ } else if (isOutlined || T.hasParameterizedExistential ()) {
512512 dest = getSingletonAddress (IGF, dest);
513513 src = getSingletonAddress (IGF, src);
514514 getSingleton ()->assignWithTake (
@@ -530,7 +530,7 @@ namespace {
530530 if (!getSingleton ()) return ;
531531 if (!ElementsAreABIAccessible) {
532532 emitInitializeWithCopyCall (IGF, T, dest, src);
533- } else if (isOutlined || T.hasLocalArchetype ()) {
533+ } else if (isOutlined || T.hasParameterizedExistential ()) {
534534 dest = getSingletonAddress (IGF, dest);
535535 src = getSingletonAddress (IGF, src);
536536 getSingleton ()->initializeWithCopy (
@@ -545,7 +545,7 @@ namespace {
545545 if (!getSingleton ()) return ;
546546 if (!ElementsAreABIAccessible) {
547547 emitInitializeWithTakeCall (IGF, T, dest, src);
548- } else if (isOutlined || T.hasLocalArchetype ()) {
548+ } else if (isOutlined || T.hasParameterizedExistential ()) {
549549 dest = getSingletonAddress (IGF, dest);
550550 src = getSingletonAddress (IGF, src);
551551 getSingleton ()->initializeWithTake (
@@ -601,7 +601,7 @@ namespace {
601601 !getSingleton ()->isTriviallyDestroyable (ResilienceExpansion::Maximal)) {
602602 if (!ElementsAreABIAccessible) {
603603 emitDestroyCall (IGF, T, addr);
604- } else if (isOutlined || T.hasLocalArchetype ()) {
604+ } else if (isOutlined || T.hasParameterizedExistential ()) {
605605 getSingleton ()->destroy (IGF, getSingletonAddress (IGF, addr),
606606 getSingletonType (IGF.IGM , T), isOutlined);
607607 } else {
@@ -2754,7 +2754,7 @@ namespace {
27542754 }
27552755 if (!ElementsAreABIAccessible) {
27562756 return emitDestroyCall (IGF, T, addr);
2757- } else if (isOutlined || T.hasLocalArchetype ()) {
2757+ } else if (isOutlined || T.hasParameterizedExistential ()) {
27582758 switch (CopyDestroyKind) {
27592759 case TriviallyDestroyable:
27602760 return ;
@@ -3041,7 +3041,7 @@ namespace {
30413041 SILType T, bool isOutlined) const override {
30423042 if (!ElementsAreABIAccessible) {
30433043 emitAssignWithCopyCall (IGF, T, dest, src);
3044- } else if (isOutlined || T.hasLocalArchetype ()) {
3044+ } else if (isOutlined || T.hasParameterizedExistential ()) {
30453045 emitIndirectAssign (IGF, dest, src, T, IsNotTake, isOutlined);
30463046 } else {
30473047 callOutlinedCopy (IGF, dest, src, T, IsNotInitialization, IsNotTake);
@@ -3052,7 +3052,7 @@ namespace {
30523052 SILType T, bool isOutlined) const override {
30533053 if (!ElementsAreABIAccessible) {
30543054 emitAssignWithTakeCall (IGF, T, dest, src);
3055- } else if (isOutlined || T.hasLocalArchetype ()) {
3055+ } else if (isOutlined || T.hasParameterizedExistential ()) {
30563056 emitIndirectAssign (IGF, dest, src, T, IsTake, isOutlined);
30573057 } else {
30583058 callOutlinedCopy (IGF, dest, src, T, IsNotInitialization, IsTake);
@@ -3063,7 +3063,7 @@ namespace {
30633063 SILType T, bool isOutlined) const override {
30643064 if (!ElementsAreABIAccessible) {
30653065 emitInitializeWithCopyCall (IGF, T, dest, src);
3066- } else if (isOutlined || T.hasLocalArchetype ()) {
3066+ } else if (isOutlined || T.hasParameterizedExistential ()) {
30673067 emitIndirectInitialize (IGF, dest, src, T, IsNotTake, isOutlined);
30683068 } else {
30693069 callOutlinedCopy (IGF, dest, src, T, IsInitialization, IsNotTake);
@@ -3074,7 +3074,7 @@ namespace {
30743074 SILType T, bool isOutlined) const override {
30753075 if (!ElementsAreABIAccessible) {
30763076 emitInitializeWithTakeCall (IGF, T, dest, src);
3077- } else if (isOutlined || T.hasLocalArchetype ()) {
3077+ } else if (isOutlined || T.hasParameterizedExistential ()) {
30783078 emitIndirectInitialize (IGF, dest, src, T, IsTake, isOutlined);
30793079 } else {
30803080 callOutlinedCopy (IGF, dest, src, T, IsInitialization, IsTake);
@@ -4899,7 +4899,7 @@ namespace {
48994899 SILType T, bool isOutlined) const override {
49004900 if (!ElementsAreABIAccessible) {
49014901 emitAssignWithCopyCall (IGF, T, dest, src);
4902- } else if (isOutlined || T.hasLocalArchetype ()) {
4902+ } else if (isOutlined || T.hasParameterizedExistential ()) {
49034903 emitIndirectAssign (IGF, dest, src, T, IsNotTake, isOutlined);
49044904 } else {
49054905 callOutlinedCopy (IGF, dest, src, T, IsNotInitialization, IsNotTake);
@@ -4910,7 +4910,7 @@ namespace {
49104910 SILType T, bool isOutlined) const override {
49114911 if (!ElementsAreABIAccessible) {
49124912 emitAssignWithTakeCall (IGF, T, dest, src);
4913- } else if (isOutlined || T.hasLocalArchetype ()) {
4913+ } else if (isOutlined || T.hasParameterizedExistential ()) {
49144914 emitIndirectAssign (IGF, dest, src, T, IsTake, isOutlined);
49154915 } else {
49164916 callOutlinedCopy (IGF, dest, src, T, IsNotInitialization, IsTake);
@@ -4921,7 +4921,7 @@ namespace {
49214921 SILType T, bool isOutlined) const override {
49224922 if (!ElementsAreABIAccessible) {
49234923 emitInitializeWithCopyCall (IGF, T, dest, src);
4924- } else if (isOutlined || T.hasLocalArchetype ()) {
4924+ } else if (isOutlined || T.hasParameterizedExistential ()) {
49254925 emitIndirectInitialize (IGF, dest, src, T, IsNotTake, isOutlined);
49264926 } else {
49274927 callOutlinedCopy (IGF, dest, src, T, IsInitialization, IsNotTake);
@@ -4932,7 +4932,7 @@ namespace {
49324932 SILType T, bool isOutlined) const override {
49334933 if (!ElementsAreABIAccessible) {
49344934 emitInitializeWithTakeCall (IGF, T, dest, src);
4935- } else if (isOutlined || T.hasLocalArchetype ()) {
4935+ } else if (isOutlined || T.hasParameterizedExistential ()) {
49364936 emitIndirectInitialize (IGF, dest, src, T, IsTake, isOutlined);
49374937 } else {
49384938 callOutlinedCopy (IGF, dest, src, T, IsInitialization, IsTake);
@@ -4966,7 +4966,7 @@ namespace {
49664966 }
49674967 if (!ElementsAreABIAccessible) {
49684968 emitDestroyCall (IGF, T, addr);
4969- } else if (isOutlined || T.hasLocalArchetype ()) {
4969+ } else if (isOutlined || T.hasParameterizedExistential ()) {
49704970 switch (CopyDestroyKind) {
49714971 case TriviallyDestroyable:
49724972 return ;
0 commit comments