@@ -896,19 +896,18 @@ class SILBuilder {
896
896
// / [trivial].
897
897
// /
898
898
// / * Otherwise, emit an actual store_borrow.
899
- void emitStoreBorrowOperation (SILLocation loc, SILValue src,
900
- SILValue destAddr) {
899
+ SILInstruction * emitStoreBorrowOperation (SILLocation loc, SILValue src,
900
+ SILValue destAddr) {
901
901
if (!hasOwnership ()) {
902
- return emitStoreValueOperation (loc, src, destAddr,
903
- StoreOwnershipQualifier::Unqualified);
904
- }
905
-
906
- if (src-> getType (). isTrivial ( getFunction ())) {
907
- return emitStoreValueOperation (loc, src, destAddr,
908
- StoreOwnershipQualifier::Trivial );
902
+ emitStoreValueOperation (loc, src, destAddr,
903
+ StoreOwnershipQualifier::Unqualified);
904
+ } else if (src-> getType (). isTrivial ( getFunction ())) {
905
+ emitStoreValueOperation (loc, src, destAddr,
906
+ StoreOwnershipQualifier::Trivial);
907
+ } else {
908
+ createStoreBorrow (loc, src, destAddr );
909
909
}
910
-
911
- createStoreBorrow (loc, src, destAddr);
910
+ return &*std::prev (getInsertionPoint ());
912
911
}
913
912
914
913
MarkUninitializedInst *
0 commit comments