Fix SILCombine of inject_enum_addr of ~Copyable values

Fixes rdar://138798467
This commit is contained in:
Meghana Gupta
2024-10-29 11:36:41 -07:00
parent b5a85ed8dc
commit d58d97d97a
2 changed files with 28 additions and 0 deletions

View File

@@ -1132,6 +1132,8 @@ SILCombiner::visitInjectEnumAddrInst(InjectEnumAddrInst *IEAI) {
IEAI->getOperand()->getType().getObjectType());
auto storeQual = !func->hasOwnership()
? StoreOwnershipQualifier::Unqualified
: IEAI->getOperand()->getType().isMoveOnly()
? StoreOwnershipQualifier::Init
: StoreOwnershipQualifier::Trivial;
Builder.createStore(IEAI->getLoc(), E, IEAI->getOperand(), storeQual);
return eraseInstFromFunction(*IEAI);