diff --git a/lib/IRGen/GenEnum.cpp b/lib/IRGen/GenEnum.cpp index e63bbf649c63b..8b4d17178ea06 100644 --- a/lib/IRGen/GenEnum.cpp +++ b/lib/IRGen/GenEnum.cpp @@ -3283,10 +3283,7 @@ namespace { bool zeroizeIfSensitive) const override { if (!ElementsAreABIAccessible) { emitInitializeWithTakeCall(IGF, T, dest, src); - } else if (isOutlined || T.hasParameterizedExistential() || - (getPayloadTypeInfo().isFixedSize() && // can use memcpy - getPayloadTypeInfo(). - isBitwiseTakable(ResilienceExpansion::Maximal))) { + } else if (isOutlined || T.hasParameterizedExistential()) { emitIndirectInitialize(IGF, dest, src, T, IsTake, isOutlined); } else { callOutlinedCopy(IGF, dest, src, T, IsInitialization, IsTake); diff --git a/test/IRGen/copy_addr_lowering.sil b/test/IRGen/copy_addr_lowering.sil deleted file mode 100644 index 63d3a4771df66..0000000000000 --- a/test/IRGen/copy_addr_lowering.sil +++ /dev/null @@ -1,24 +0,0 @@ -// RUN: %target-swift-frontend -module-name A -Xllvm -sil-disable-pass=LowerAggregateInstr -emit-ir %s | %FileCheck %s -sil_stage lowered - -import Builtin -import Swift -import SwiftShims - -struct S { - var s: ArraySlice - var i: ArraySlice.Index -} - - -// CHECK: define{{.*}} swiftcc void @copy_test( -// CHECK-NOT: call ptr @"$s1A1SVSgWOb"( -// CHECK: memcpy -// CHECK: ret void - -sil @copy_test : $@convention(thin) (@in Optional) -> @out Optional { -bb0(%0 : $*Optional, %1 : $*Optional): - copy_addr [take] %1 to [init] %0 : $*Optional - %5 = tuple () - return %5 : $() -}