Skip to content

Commit a3d054c

Browse files
committed
Fix store_borrow visitor in MoveOnlyWrappedTypeEliminator
1 parent 05452da commit a3d054c

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

lib/SILOptimizer/Mandatory/MoveOnlyWrappedTypeEliminator.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,14 @@ struct SILMoveOnlyWrappedTypeEliminatorVisitor
8888
SILBuilderWithScope b(si);
8989
b.emitStoreValueOperation(si->getLoc(), si->getSrc(), si->getDest(),
9090
StoreOwnershipQualifier::Trivial);
91+
SmallVector<EndBorrowInst *, 4> endBorrows;
92+
for (auto *ebi : si->getUsersOfType<EndBorrowInst>()) {
93+
endBorrows.push_back(ebi);
94+
}
95+
for (auto *ebi : endBorrows) {
96+
ebi->eraseFromParent();
97+
}
98+
si->replaceAllUsesWith(si->getDest());
9199
return eraseFromParent(si);
92100
}
93101

0 commit comments

Comments
 (0)